In meiner web.config habe ich die Rolle Manager wie folgt konfigurieren:Passt der asp.net RoleManager wirklich die Rollen für einen Benutzer in einem Cookie, wenn er so konfiguriert ist?
<roleManager enabled="true" cacheRolesInCookie="true" cookieName=".ASPROLES"
cookieTimeout="30" cookiePath="/" cookieRequireSSL="false"
cookieSlidingExpiration="true" cookieProtection="All">
jedoch in unserer eigenen Roleprovider wäre es scheint, dass die GetRolesForUser Methode immer dann aufgerufen wird, anstatt als ich erwartet hätte, die Rolemanager Servieren der Rollen von seinem Cookie.
Wir verwenden so etwas wie die Rollen für einen Benutzer zu erhalten:
string[] myroles = Role.GetRolesForUser("myuser");
Gibt es etwas, das ich in der Konfiguration fehlen, oder bei der Verwendung des Rolemanager
In Ihrem Codebeispiel ist ein Tippfehler enthalten - cacheRolesInCookie = "ture". –
Ein direktes Kopieren und Einfügen Ihrer Konfiguration funktioniert für mich, außer dass ich auch einen Standardanbieter angegeben habe. –
Vielleicht beschreibt dieser Link das gleiche Problem, das Sie erfahren haben? http://connect.microsoft.com/VisualStudio/feedback/details/104688/rolemanager-cacherolesinchookie-option-does-not-work Ich habe auch dieses Problem, und ich kann nicht meinen benutzerdefinierten rolemanager die Rollen in einem zu speichern Plätzchen. –