웹 응용 프로그램에 대한 사용자 지정 사용자 저장소를 구현했습니다. 지금까지 모든 것이 잘 작동합니다. 이제 역할을 지원하기 위해 저장소 클래스를 확장하려고했습니다. 다음과 같이 Owin AppBuilder과 서비스를ASP.MVC IUserRoleStore <>가 전혀 호출되지 않았습니다.
IUserStore<UserViewModel>, IUserLockoutStore<UserViewModel, string>, IUserPasswordStore<UserViewModel, string>, IUserTwoFactorStore<UserViewModel, string>, IUserRoleStore<UserViewModel, string>, IRoleStore<RoleModel, string>
그리고 등록 :
var ctx = UnityMvcActivator.Context.Container;
app.CreatePerOwinContext(() => ctx.Resolve<WebUserManager>());
app.CreatePerOwinContext(() => ctx.Resolve<RoleManager>());
app.CreatePerOwinContext(() => ctx.Resolve<WebApplicationUserStore>());
내가 User.IsInRole(Constants.Roles.COMPANY_OWNER)
을 내 컨트롤러로 돌아가서 호출하는 경우 상점이를 얻기 위해 호출되지 않습니다 나는 다음과 같은 인터페이스를 구현 사용자의 역할 누락 된 링크가있는 것 같지만 찾을 수 없습니다. 또한 SupportsUserRole
속성을 true로 설정하고 UserManager<UserViewModel, string>
을 구현했습니다. 차이는 전혀 없습니다.
솔루션은 User.IsInRole 잘 동작에 역할을 확인해야하지만, AuthorizeAttibute가 작동하지 않습니다. 모든 요청을 필터링하고 로그인 페이지로 리디렉션합니다. –