Asp.Net MVC Identity 2.2.1 提示(八)

來源:互聯網
上載者:User

標籤:config   cti   nbsp   attribute   amp   大小   串連數   進程   reg   

一、添加管理連結

在View/Shared/_layout.cshtml,在頁面導航上(28行)添加如下代碼:

1                     @*通過身分識別驗證並確認使用者屬於Admin角色顯示管理菜單*@2                     @if (Request.IsAuthenticated && User.IsInRole("Admin"))3                     {4                         <li>@Html.ActionLink("角色管理", "Index", "RolesAdmin")</li>5                         <li>@Html.ActionLink("使用者管理", "Index", "UsersAdmin")</li>6                     }

溫馨提示:為了確保網站的安全建議大家在App_Start檔案夾中的FilterConfig.cs的public static void RegisterGlobalFilters(GlobalFilterCollection filters)方法內再加上一句
             filters.Add(new System.Web.Mvc.AuthorizeAttribute());

二、簡單講下操作的許可權分配。

通過下面這些許可權的組合,你可以得到你希望的許可權管理。

格式:[Authorize(allow users = “xxx” )]

allow users = “xxx” 允許使用者xxx訪問

allow roles="Admin" 允許角色Admin訪問

[AllowAnonymous] 允許匿名使用者存取

deny users="yyy" 拒絕使用者yyy訪問

deny roles="youke" 拒絕角色youke訪問

deny users="?" 拒絕匿名使用者存取

 

三、發布網站時的選項

Debug 通常稱為調試版本,它包含調試資訊,並且不作任何最佳化,便於程式員偵錯工具。

Release 稱為發布版本,它往往是進行了各種最佳化,使得程式在代碼大小和運行速度上都是最優的,以便使用者很好地使用。      

databases

use this connection string at runtime   在運行時使用此連接字串  它的作用是部署到生產的時候這裡的連接字串優先於appsettings.json的  主要是方便程式迭代時的部署工作。一般來說就是,開發環境和生產環境沒在同一個地址上,這裡可以很方便的修改對應的地址。舉例說明就是  開發與測試為192.168.1.1   生產為192.168.1.2   你發布時不在需要更改appsettings.json的串連串(192.168.1.1),修改這裡為192.168.1.2就可以完成部署程式的串連地址。

entity framework migrations

apply this migration on publish   將此遷移應用於發布   它的作用是在程式部署時自動同步資料庫結構的。添加了新表,表的欄位有變化時它會更新這些變化。一般來說,這兩個串連的字串都是一樣的。主要是方便程式迭代時的資料庫更新的工作。

另外就是 core的程式是跨平台的,為適應這一變化,sql串連現在不允許windows身份串連了,必須用sa和密碼,理由很簡單其他系統怎麼會有win身分識別驗證。

 

四、關於iis8.5中發布的網站無法串連資料庫的解決方案。

發布網站到伺服器的iis中在瀏覽時出現如下提示:

“/”應用程式中的伺服器錯誤。

在與 SQL Server 建立串連時出現與網路相關的或特定於執行個體的錯誤。未找到或無法訪問伺服器。請驗證執行個體名稱是否正確並且 SQL Server 已配置為允許遠端連線。 (provider: SQL Network Interfaces, error: 50 - 發生了 Local Database Runtime 錯誤。無法建立自動執行個體。有關錯誤詳細資料,請參閱 Windows 應用程式事件記錄檔。 )

說明: 執行當前 Web 請求期間,出現未處理的例外狀況。請檢查堆疊追蹤資訊,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細資料。             
異常詳細資料: System.Data.SqlClient.SqlException: 在與 SQL Server 建立串連時出現與網路相關的或特定於執行個體的錯誤。未找到或無法訪問伺服器。請驗證執行個體名稱是否正確並且 SQL Server 已配置為允許遠端連線。 (provider: SQL Network Interfaces, error: 50 - 發生了 Local Database Runtime 錯誤。無法建立自動執行個體。有關錯誤詳細資料,請參閱 Windows 應用程式事件記錄檔。 )
源錯誤:

執行當前 Web 請求期間產生了未處理的例外狀況。可以使用下面的異常堆疊追蹤資訊確定有關異常原因和發生位置的資訊。 

堆疊追蹤:

[SqlException (0x80131904): 在與 SQL Server 建立串連時出現與網路相關的或特定於執行個體的錯誤。未找到或無法訪問伺服器。請驗證執行個體名稱是否正確並且 SQL Server 已配置為允許遠端連線。 (provider: SQL Network Interfaces, error: 50 - 發生了 Local Database Runtime 錯誤。無法建立自動執行個體。有關錯誤詳細資料,請參閱 Windows 應用程式事件記錄檔。)]

 一開始沒明白為什麼出現這種原因,從sqlserver中尋找了半天,無果。

仔細研究後感覺應該是iis的問題。仔細檢查後發現問題所在。

解決方案:

1.開啟iis管理器。

2.開啟“應用程式集區”並左鍵單擊對應的網站應用程式程式池。

3.在右側的“編輯應用程式集區”裡找到“進階設定”

4.在“進階設定”交談視窗中找到“進程模型”中的“載入使用者設定檔”

5.將“載入使用者設定檔”由“False”改為“True”,確定儲存後。在“網站”中點擊網站“重新啟動”。

再次瀏覽網站,問題解決。

 

Asp.Net MVC Identity 2.2.1 提示(八)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.