Я использую образец UserUserService сервера Identity v3. Я добавил домашний контроллер, как показано ниже - `HomeController общественного класса: контроллер { // // GET:/Главная/ общественного ActionResult Index() { возвращение View(); }Использование образца customuserservice Identity Server V3 в MVC не может перенаправить на страницу входа
[Authorize]
public ActionResult About()
{
//ViewBag.Message = "Your application description page.";
//return View();
return View((User as ClaimsPrincipal).Claims);
}`
И добавил 2 просмотров About.cshtml и Index.cshtml. Как вы видите, действие имеет атрибут Authorize. Поэтому, когда я перейду к «О программе», мне нужно перенаправить на страницу входа в систему Identity Server V3, но этого не происходит. Мой полный startup.cs выглядит следующим образом -
public void Configuration(IAppBuilder app)
{
LogProvider.SetCurrentLogProvider(new DiagnosticsTraceLogProvider());
app.Map("/core", coreApp =>
{
var factory = InMemoryFactory.Create(
clients: Clients.Get(),
scopes: Scopes.Get());
// different examples of custom user services
var userService = new RegisterFirstExternalRegistrationUserService();
//var userService = new ExternalRegistrationUserService();
//var userService = new EulaAtLoginUserService();
//var userService = new LocalRegistrationUserService();
factory.UserService = new Registration<IUserService>(resolver => userService);
var options = new IdentityServerOptions
{
//IssuerUri = "https://idsrv3.com",
IssuerUri = "https://localhost:44333/",
SiteName = "Thinktecture IdentityServer3 - CustomUserService",
//SigningCertificate = LoadCertificate(),
SigningCertificate = Certificate.Get(),
Factory = factory,
CorsPolicy = CorsPolicy.AllowAll,
AuthenticationOptions = new Thinktecture.IdentityServer.Core.Configuration.AuthenticationOptions
{
IdentityProviders = ConfigureAdditionalIdentityProviders,
LoginPageLinks = new LoginPageLink[] {
new LoginPageLink{
Text = "Register",
//Href = "~/localregistration"
Href = "localregistration"
}
}
},
EventsOptions = new EventsOptions
{
RaiseSuccessEvents = true,
RaiseErrorEvents = true,
RaiseFailureEvents = true,
RaiseInformationEvents = true
}
};
coreApp.UseIdentityServer(options);
});
Я использую образец CustomerUserService, потому что я хочу использовать WSfederation. Таким образом, ADFS будет предоставлять заявки на сервер идентификации, и, в свою очередь, сервер Identity должен вернуть эти претензии в «О представлении». Может кто-нибудь мне помочь.