Ich möchte Servicestack-Dienste nur für autorisierte Benutzer erreichbar machen. dies ist mein Register Methode var authResponse = client.Post(new Authenticate { provider = CredentialsAuthProvider.Name, //= credentials UserName = model.Username, Password = model.Password, RememberMe = true, }); client.UserName = model.Username; client.Password = model.Password;
Nicht autorisierte Ausnahme, ServiceStack
Diese Log
[HttpPost]
[ActionName("LogIn")]
public ActionResult Login(LogInModel model)
{
var authResponse = client.Post(new Authenticate
{
provider = CredentialsAuthProvider.Name, //= credentials
UserName = model.Username,
Password = model.Password,
RememberMe = true,
});
client.UserName = model.Username;
client.Password = model.Password;
return RedirectToAction("RefundPayment");
}
Apphost in Methode ist:
public override void Configure(Container container)
{
SetConfig(new HostConfig
{
HandlerFactoryPath = "api",
});
//Config examples
//this.Plugins.Add(new PostmanFeature());
//this.Plugins.Add(new CorsFeature());
//Set MVC to use the same Funq IOC as ServiceStack
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));
Plugins.Add(new AuthFeature(() => new AuthUserSession(),
new IAuthProvider[] {
new BasicAuthProvider(), //Sign-in with HTTP Basic Auth
new CredentialsAuthProvider(), //HTML Form post of UserName/Password credentials
}));
Plugins.Add(new RegistrationFeature());
container.Register<ICacheClient>(new MemoryCacheClient());
var userRep = new InMemoryAuthRepository() ;
container.Register<IUserAuthRepository>(userRep);
}
Warum diese Ausnahme tritt trotz ich Benutzer Authentifizieren in Anmelden Methode? Muss ich Code in AppHost ändern? Vielen Dank.
Danke für Hilfe. Wenn ich zu einer anderen Aktion weiterleite, wird immer noch eine nicht autorisierte Ausnahme ausgelöst. Muss ich mich in jedem Controller authentifizieren? –
@MartynasBrazionis sollten Sie nur einmal authentifizieren müssen, dann können Sie Controller aufrufen, die mit dem '[Authenticate]' - Attribut von ServiceStack geschützt sind, wie in der http://mvc.servicestack.net Demo zu sehen. Beachten Sie, dass Ihre Controller "ServiceStackController" erben sollten. – mythz