繁体   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