[英]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.