当前位置: 首页>>代码示例>>C#>>正文


C# IAuthenticationService.GetAuthenticationToken方法代码示例

本文整理汇总了C#中IAuthenticationService.GetAuthenticationToken方法的典型用法代码示例。如果您正苦于以下问题:C# IAuthenticationService.GetAuthenticationToken方法的具体用法?C# IAuthenticationService.GetAuthenticationToken怎么用?C# IAuthenticationService.GetAuthenticationToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IAuthenticationService的用法示例。


在下文中一共展示了IAuthenticationService.GetAuthenticationToken方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AuthenticationModule

        public AuthenticationModule(IAuthenticationService authService, IMembershipService membershipService)
        {
            Post["/"] = _ =>
            {
                string userToken;
                if (Request.Cookies.TryGetValue(Constants.UserTokenCookie, out userToken) &&
                    !String.IsNullOrEmpty(userToken) &&
                    authService.IsUserAuthenticated(userToken))
                {
                    return 200;
                }

                return 403;
            };

            Post["/login"] = param =>
            {
                string name = Request.Form.user;
                string password = Request.Form.password;

                var response = Response.AsRedirect("/");

                if (!String.IsNullOrEmpty(name) &&
                   !String.IsNullOrEmpty(password))
                {
                    ChatUser user = membershipService.AuthenticateUser(name, password);
                    string userToken = authService.GetAuthenticationToken(user);
                    var cookie = new NancyCookie(Constants.UserTokenCookie, userToken, httpOnly: true)
                    {
                        Expires = DateTime.Now + TimeSpan.FromDays(30)
                    };

                    response.AddCookie(cookie);
                }

                return response;
            };

            Post["/register"] = param =>
            {
                string name = Request.Form.user;
                string password = Request.Form.password;

                var response = Response.AsRedirect("/");

                if (!String.IsNullOrEmpty(name) &&
                   !String.IsNullOrEmpty(password))
                {
                    ChatUser user = membershipService.AddUser(name, password);
                    string userToken = authService.GetAuthenticationToken(user);
                    var cookie = new NancyCookie(Constants.UserTokenCookie, userToken, httpOnly: true)
                    {
                        Expires = DateTime.Now + TimeSpan.FromDays(30)
                    };

                    response.AddCookie(cookie);
                }

                return response;
            };

            Post["/logout"] = _ =>
            {
                var response = Response.AsJson(new { success = true });

                response.AddCookie(new NancyCookie(Constants.UserTokenCookie, null)
                {
                    Expires = DateTime.Now.AddDays(-1)
                });

                return response;
            };
        }
开发者ID:danzel,项目名称:JabbR,代码行数:73,代码来源:AuthenticationModule.cs


注:本文中的IAuthenticationService.GetAuthenticationToken方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。