|
本帖最后由 jxnkwlp 于 2017-6-12 14:58 编辑
asp.net mvc 项目,使用 owin 环境下, 在 提交 登录 后 , 页面提示 网络错误,请刷新页面并重试!
环境是 server 2008 r2 , 在 VS 2015 开发环境下 不存在这个问题。 换了好几个 server 2008 r2 都会这样 。
使用 默认的空项目: 代码如下,
1,安装 Microsoft.Owin.Security.Cookies 及对应的依赖包
安装 Microsoft.Owin.Host.SystemWeb 包,
2, 添加 Startup 启动文件。- [assembly: OwinStartup(typeof(FineUIMvc.EmptyProject.Startup))]
- namespace FineUIMvc.EmptyProject
- {
- public class Startup
- {
- public void Configuration(IAppBuilder app)
- {
- app.UseCookieAuthentication(new Microsoft.Owin.Security.Cookies.CookieAuthenticationOptions()
- {
- AuthenticationType = "ApplicationCookie",
- LoginPath = new PathString("/home/login/"),
- });
- }
- }
- }
复制代码
3,修改 HomeController 下面的 btnLogin_Click 为 :- if (tbxUserName == "admin" && tbxPassword == "admin")
- {
- SignIn();
- PageContext.Redirect(Url.Action("Hello"));
- ShowNotify("成功登录!", MessageBoxIcon.Success);
- }
- else
- {
- ShowNotify("用户名或密码错误!", MessageBoxIcon.Error);
- }
- return UIHelper.Result();
复制代码 SignIn :- IAuthenticationManager AuthenticationManager
- {
- get
- {
- return Request.GetOwinContext().Authentication;
- }
- }
- protected void SignIn()
- {
- ClaimsIdentity claimIdentity = new ClaimsIdentity("ApplicationCookie");
- claimIdentity.AddClaim(new Claim(ClaimTypes.Name, "admin"));
- claimIdentity.AddClaim(new Claim(ClaimTypes.NameIdentifier, "admin"));
- claimIdentity.AddClaim(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity", "http://www.w3.org/2001/XMLSchema#string"));
- AuthenticationManager.SignOut();
- AuthenticationManager.SignIn(claimIdentity);
- }
复制代码
相关截图 :
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|