我正在尝试使用简单的自定义角色提供程序并使用此处的代码:http ://code.google.com/p/sfckopanka/source/browse/trunk/App_Code/OdbcRoleProvider.cs?r=45
这是使用这个实现的:http: //msdn.microsoft.com/en-us/library/tksy7hd7 (v=vs.100).aspx
这只是来自 Microsoft 的简单样板代码。
当我调试我的应用程序时,我可以看到我的角色提供程序已初始化但是当我尝试检查角色时没有调用任何方法。
[Authorize(Roles="Customer")]
或者
User.IsInRole("Customer")
我在我的角色提供者的几个地方设置了断点,但它们从未被击中。
仅供参考,我使用的是 WebAPI,我没有使用成员资格提供程序,而是通过消息处理程序使用基本身份验证。
http://www.piotrwalat.net/basic-http-authentication-in-asp-net-web-api-using-message-handlers/
基本身份验证运行良好,但我不确定这是否是阻止我的角色提供者被调用的原因。