Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net使用成员资格提供程序设置角色_C#_.net_Asp.net - Fatal编程技术网

C# asp.net使用成员资格提供程序设置角色

C# asp.net使用成员资格提供程序设置角色,c#,.net,asp.net,C#,.net,Asp.net,我正在从头开始构建我的第一个asp.net应用程序。我有两个不同的会员提供商。一个是基本sql提供程序,另一个是active directory。用户“角色”由用户的登录方式决定。我想使用asp.net的角色管理器功能,但我不想构建整个角色提供程序部分。当我的应用程序中没有“角色”时,我有两种成员类型 有没有办法在登录时通过成员资格提供程序设置用户的角色,或者以某种方式将登录的用户标记为已通过sql或AD验证 这是我的第一个asp.net应用程序,我的想法是否正确?在asp.net中,角色和成员

我正在从头开始构建我的第一个asp.net应用程序。我有两个不同的会员提供商。一个是基本sql提供程序,另一个是active directory。用户“角色”由用户的登录方式决定。我想使用asp.net的角色管理器功能,但我不想构建整个角色提供程序部分。当我的应用程序中没有“角色”时,我有两种成员类型

有没有办法在登录时通过成员资格提供程序设置用户的角色,或者以某种方式将登录的用户标记为已通过sql或AD验证


这是我的第一个asp.net应用程序,我的想法是否正确?

在asp.net中,角色和成员身份是两个截然不同的东西

登录时,您需要为用户对象分配一个标志,用于标识用户如何登录

然后在

public override string[] GetRolesForUser(string username)

检查该标志并返回一个适当的角色

如果您试图以一种非设计的方式使用这些角色,恐怕您必须有一个角色提供程序才能使其工作


为什么不使用MembershipUser.ProviderName属性来检查哪个提供商提供了用户身份?

您能详细说明一下吗?调用什么方法返回用户对象?如何设置providername属性?我甚至很难找到MembershipUser的创建位置。如果我能找到,那么我可以通过编程在登录时添加一个角色,是吗?您说过您正在使用两个membershipproviders(sql和ad),所以只需调用Membership.GetUser().ProviderName来检查用户来自哪个提供程序。您不需要roleprovider,但如果实现了roleprovider,您可以为用户添加一个角色。我不知道在哪里设置此providername,我想可以在web.config的成员资格部分进行设置。