簡體   English   中英

如何在ASP.NET C#Web表單中進行不同的身份驗證?

[英]how to make different authentication in asp.net c# web form?

我們在網站中分為兩部分進行身份驗證。 Web配置代碼:第一次在admin中使用,第二次用於用戶進入site。當在站點中進行admin身份驗證並轉到用戶頁面時,出現錯誤。如何為這些用戶創建不同的身份驗證?

<authentication mode="Forms">
  <forms loginUrl="~/admin/Login.aspx" timeout="2880" />
</authentication>

根據您在評論中的回復...

我們會讀取用戶的登錄權限。當我使用User.Identity.IsAuthenticated時,其返回true。但是,此Authenticated for admin。如何為用戶設置不同的Authenticated?

檢查用戶是否已通過身份驗證與檢查用戶的權限不同。 身份驗證僅告訴您訪問您網站的人已經對自己進行了身份驗證(即登錄其帳戶)。

您的方程式中缺少的是授權階段(記住大學/大學?每個人都獲得了身份證,進入大學/大學的理由是您對自己進行身份驗證,工作人員也進行了身份驗證,學生將無權進入員工室或執行某些任務,但工作人員會這么做)。

我們使用所謂的Roles ,每個用戶都應該有一個Role 每個Role都應具有與其相關聯的一組Permissions ,現在,我不必擔心Permissions因為它可以很快地變得非常復雜,如果您現在僅關注“實施角色”,那么就足夠了。

一旦每個用戶都具有與他們的帳戶相關聯的角色,您就可以檢查他們的Role而不是僅對他們進行身份驗證,這不會告訴您太多。

應當已經在框架中實現了GetUserRoles()IPrinciple接口擴展方法,即User.Identity.GetUserRoles()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM