当前位置: 首页 > news >正文

专门做广东11选5的网站商品网站开发

专门做广东11选5的网站,商品网站开发,中建八局第一建设有限公司中标,长春网站推广网诚传媒在 ASP.NET Core 应用中#xff0c;基于 Cookie 的身份鉴权是一种常见的身份验证方式#xff0c;特别适用于传统的 Web 应用程序。Cookie 能够在用户的浏览器中存储身份验证数据#xff0c;从而在用户访问应用的不同页面时保持登录状态。 一、配置 Cookie 身份验证 首先基于 Cookie 的身份鉴权是一种常见的身份验证方式特别适用于传统的 Web 应用程序。Cookie 能够在用户的浏览器中存储身份验证数据从而在用户访问应用的不同页面时保持登录状态。 一、配置 Cookie 身份验证 首先在 Startup.cs 或 Program.cs 文件中配置 Cookie 身份验证。这包括设置登录路径、登出路径、Cookie 的过期时间等参数。 在 Program.cs 文件中配置 Cookie 身份验证 var builder WebApplication.CreateBuilder(args);builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options {options.LoginPath  /Account/Login;options.LogoutPath  /Account/Logout;options.AccessDeniedPath  /Account/AccessDenied;options.ExpireTimeSpan TimeSpan.FromMinutes(30);options.SlidingExpiration  true;}); // 安装 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilationbuilder.Services.AddControllersWithViews().AddRazorRuntimeCompilation(); var app builder.Build();if (!app.Environment.IsDevelopment()) {app.UseExceptionHandler(/Home/Error);app.UseHsts(); }app.UseHttpsRedirection(); app.UseStaticFiles();app.UseRouting();app.UseAuthentication(); app.UseAuthorization();app.MapControllerRoute(name: default,pattern: {controllerHome}/{actionIndex}/{id?});app.Run(); 二、创建登录和登出逻辑 接下来你需要创建处理登录和登出请求的控制器和视图。 创建 AccountController 创建一个 AccountController用于处理登录和登出逻辑 using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Mvc; using System.Security.Claims; using System.Threading.Tasks;publicclassAccountController : Controller {[HttpGet]public IActionResult Login(string returnUrl  /){ViewData[ReturnUrl] returnUrl;return View();}[HttpPost][ValidateAntiForgeryToken]public async TaskIActionResult Login(LoginViewModel model, string returnUrl  /){if (ModelState.IsValid){// 验证用户名和密码if (model.Username  admin  model.Password  123456){var claims  new ListClaim{new Claim(ClaimTypes.Name, model.Username),new Claim(ClaimTypes.Role, Admin)  // 可以根据需要添加角色};var claimsIdentity  new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);var authProperties  new AuthenticationProperties{IsPersistent model.RememberMe,RedirectUri returnUrl};await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,new ClaimsPrincipal(claimsIdentity),authProperties);return LocalRedirect(returnUrl);}else{ModelState.AddModelError(string.Empty, Invalid login attempt.);}}return View(model);}[HttpPost][ValidateAntiForgeryToken]public async TaskIActionResult Logout(){await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);return RedirectToAction(Index, Home);} } 创建 Login 视图 创建一个 Login.cshtml 视图用于显示登录表单 model LoginViewModelh2Login/h2form asp-actionLogin asp-route-returnUrlViewData[ReturnUrl] methodpostdiv asp-validation-summaryAll classtext-danger/divdiv classform-grouplabel asp-forUsername/labelinput asp-forUsername classform-control /span asp-validation-forUsername classtext-danger/span/divdiv classform-grouplabel asp-forPassword/labelinput asp-forPassword classform-control typepassword /span asp-validation-forPassword classtext-danger/span/divdiv classform-groupdiv classcheckboxlabel asp-forRememberMeinput asp-forRememberMe /Html.DisplayNameFor(m m.RememberMe)/label/div/divbutton typesubmit classbtn btn-primaryLog in/button /form 创建 LoginViewModel 创建一个 LoginViewModel用于绑定登录表单的数据 public classLoginViewModel {[Required][Display(Name  User name)]publicstring Username { get; set; }[Required][DataType(DataType.Password)][Display(Name  Password)]publicstring Password { get; set; }[Display(Name  Remember me?)]publicbool RememberMe { get; set; } } 三、保护 API 路由 一旦配置了 Cookie 身份验证你可以使用 [Authorize] 特性来保护你的 API 路由确保只有经过身份验证的用户可以访问受保护的资源。 [Authorize] public class ProtectedController : Controller { public IActionResult GetProtectedData(){return Ok(new { message  This is protected data });} } 四、客户端请求 客户端在请求受保护的 API 时浏览器会自动发送存储在 Cookie 中的身份验证数据。服务器会通过 Cookie 中间件验证这些数据的有效性并允许或拒绝请求。 五、登出逻辑 用户可以通过访问登出路径来登出。登出逻辑会清除用户的 Cookie从而结束会话。 [HttpPost] [ValidateAntiForgeryToken] public async TaskIActionResult Logout() {await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);return RedirectToAction(Index, Home); } 总结 通过以上步骤可以在 ASP.NET Core 应用中实现基于 Cookie 的身份鉴权确保你的应用能够安全地验证用户身份并授权访问特定资源。Cookie 的持久性和易于管理的特性使其成为传统 Web 应用中身份验证的理想选择。
http://www.w-s-a.com/news/422095/

相关文章:

  • 深圳 网站开发公司电话网站关键词快排名
  • 网站建设的工作总结seo同行网站
  • 网站需要兼容哪些浏览器sql数据库做的网站怎么发布
  • 营销型网站的建站步骤是什么意思广州门户网站建设公司
  • 汕尾好网站建设推广计算机软件包含网站开发
  • 建设工程施工许可证在哪个网站办wordpress更换主题白屏
  • 微交易网站建设wordpress摘要调用
  • 做网站维护需要懂什么网站后台后缀名
  • 网站建设的认可桂平市住房和城乡建设局网站
  • 网站设计师岗位职责域名关键词查询
  • 百度怎样建设网站盐城公司网站建设
  • 站长工具国产2023网站制作 商务
  • 网络新闻专题做的最好的网站杭州网站设计建设公司
  • 电商网站界面设计流程ps培训班一般学费多少钱
  • 西安网站运营上海闵行区网站制作公司
  • 宁波网站推广代运营长链接转化成短链接工具
  • 小企业如何建网站怎么自己制作app
  • 苏州品牌网站制作公司宁波建设工程有限公司
  • 合肥网站建设zgkr互联网创业好项目
  • 哪里学网站建设与管理云落wordpress
  • 网站建设意见做网站涉及到哪些
  • 网站导航栏原型图怎么做怎么样创建一个网站
  • 遨游建站金融网站建站
  • cms企业网站模板上海网站开发平台
  • 贵阳网站建设搜q479185700网站团队建设
  • 电商网站建设 教学总结蚌埠市住房建设部网站
  • 深圳罗湖企业网站发稿类别是什么
  • 做网站基本语言企业应用软件开发
  • 网站建设与运营 市场分析影视小程序搭建
  • vs 团队网站开发中铁建设门户网登录咋进不去了