Опитвах се да намокря краката си с ASP.net MVC 5 за 2013 г., но досега не успях да накарам дори най-елементарното удостоверяване да работи правилно.
Четох наоколо през последните няколко дни и най-накрая се натъкнах на (http://brockallen.com/2013/10/24/a-primer-on-owin-cookie-authentication-middleware-for-the-asp-net-developer/), което изглежда даваше най-основния прост пример, който можах да намеря. Така че опитах това, но изглежда все още не успява да създаде сесия за потребителя.
Ето моята конфигурация на бисквитките
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/FooBar")
});
}
Ето моето основно персонализирано влизане.
public class LoginController : ApiController
{
private IAuthenticationManager Authentication
{
get { return Request.GetOwinContext().Authentication; }
}
// POST api/login
public void Post([FromBody]LoginInfo email)
{
var fooBar = Authentication.User;
var claims = new List<Claim>
{
new Claim(ClaimTypes.Name, "name")
,new Claim(ClaimTypes.Email, "[email protected]")
,new Claim(ClaimTypes.Role, "Foo")
};
var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie);
Authentication.SignIn(new AuthenticationProperties() { IsPersistent = true }, identity);
}
}
Ако натисна API за влизане два пъти, бих очаквал втория път, че променливата fooBar ще бъде зададена на потребител, който е маркиран като удостоверен, но когато го проверя, той просто казва, че не е удостоверен и няма някое от твърденията, които бих очаквал.
Също така се опитах да създам основна услуга, за да проверя дали е удостоверена, в случай че съм разбрал погрешно как работи, но това също се проваля. Ако се опитам да отида до него, той казва, че не съм удостоверен, не ме пренасочва, както си мислех.
public class TestController : ApiController
{
[Authorize(Roles = "Foo")]
public int Get()
{
return 1;
}
}
Сигурен съм, че просто пропускам някои основни неща, но досега без значение с какво се занимавах и независимо от различните ръководства и съвети, които съм виждал онлайн, нищо не успя да накара дори този прост сценарий да работи. Някакви идеи какво правя грешно?
<modules><remove name="FormsAuthenticationModule" /></modules>
, но не и удостоверяване, зададено на Няма, зададох удостоверяване на нищо, но все още имам същия проблем. - person Zipper   schedule 03.12.2013ConfigureAuth
метод при стартиране на проекта? - person Martin   schedule 03.12.2013