在调用Roles.GetRolesForUser()时使用asp.net成员资格api;它不返回任何内容。当我调用Roles.GetAllRoles()时,所有的角色都会返回。有什么问题吗?另外,使用成员资格api对用户进行身份验证的正确方法是什么?
发布于 2010-12-19 06:22:08
Roles.GetRolesForUser()返回当前登录用户的角色。
1:确保您在登录时正在执行它。
2:确保为用户分配了角色。
对于你关于最佳方式的问题,我不确定你是在什么背景下问的。但基本上,如果你使用的是内置的ASP.NET登录控件,你不需要做任何事情。如果愿意,您可以显式使用Membership.ValidateUser方法。需要注意的一点是,您确实需要在web.config中设置FormsAuthentication。
发布于 2010-12-19 17:20:18
您是否使用IIS托管并进行过匿名身份验证?通常,任何安全提供商都会使用它找到的最简单的安全提供程序。
它将从匿名开始,如果它被禁用,它将查找表单,然后查找Windows。
内置到Visual Studio中的cassini web服务器将为您完成此任务。
发布于 2014-02-28 20:54:12
您需要在控制器中的cont之前添加InitializeSimpleMembership
https://stackoverflow.com/questions/4480328
复制相似问题