2017-09-28 4 views
-1

Nous sommes en train de migrer notre application basée sur asp.net à nancy, comme l'application est assez grande, nous avons donc décidé de faire migrer l'application & vers la page nancy par page.Comment intégrer nancy avec l'authentification basée sur un formulaire asp.net

Maintenant, nous avons un écran de connexion nancy, à l'aide duquel nous devons aussi faire l'authentification par formulaire asp.net. Quelqu'un peut-il nous guider comment pouvons-nous authentifier l'utilisateur avec l'authentification par formulaire asp.net dans le code de nancy. Nous prévoyons d'utiliser l'authentification sans état sur le côté de nancy.

Tout pointeur est très apprécié.

Nous avons une page de connexion à nancy informations d'identification utilisateur validées

1. Connectez-vous Module -

Post["/login"] = p => 
      { 
// Verify user crdentials first 
// Success, create non-persistent authentication cookie. 
        System.Web.Security.FormsAuthentication.SetAuthCookie(credentials.tbUser, false); 
        var cookie = System.Web.Security.FormsAuthentication.GetAuthCookie(credentials.tbUser, false); 
        cookie.Expires = DateTime.UtcNow.AddHours(5); 
        HttpContext.Current.Response.Cookies.Set(cookie); 
return Response.AsRedirect("~/listRequest.aspx"); // used Nancy's redirect model to navigate to another page 
} 

2. Global.asax -

void Application_PostAuthenticateRequest(object sender, EventArgs e) 
     { 
      HttpApplication application = (HttpApplication)sender; 
      FormsIdentity fIdent = application.Context.User.Identity as FormsIdentity; 
      if (fIdent != null) **// It always returns null even after ".ASPXAUTH" cookie is successfully created** 
      { 
       FormsAuthenticationTicket ticket = fIdent.Ticket; // to see if the ticket exists 
      } 
     } 
+0

https://github.com/NancyFx/Nancy/wiki/Forms-authentication –

+0

** @ matjaz **, merci pour le lien, mais cela n'aidera pas dans notre cas, nous voulons utiliser Asp.net Form basé authentification principalement jusqu'à ce que notre application est en mode hybride, une fois que nous serons entièrement migrés à nancy, nous pouvons rechercher d'autres options de signature unique disponibles –

Répondre

0

L'un des Les idées que je n'ai pas testées mais qui semblent pouvoir l'être est d'utiliser la méthode LoginWithoutRedirect de Nancy. Authentication.Forms.

Votre application gérera en même temps les cookies d'authentification pour ASP.NET et les cookies d'authentification pour Nancy Forms.