网站建设公司西安重庆找工作哪个网站好

news/2025/9/23 11:21:37/文章来源:
网站建设公司西安,重庆找工作哪个网站好,请问我做吉利网站吉利啊,门户网站建设公开情况自查登录流程图 示例预览 构建步骤 当然#xff0c;你也可以直接之前前往coding仓库查看源码#xff0c;要是发现bug记得提醒我啊~ LoginDemo地址 1. 首先你得有一个项目 2. 然后你需要一个登录页面 完整Login.cshtml视图代码戳这里-共计55行 效果预览图 !DOCTYPE html你也可以直接之前前往coding仓库查看源码要是发现bug记得提醒我啊~ LoginDemo地址 1. 首先你得有一个项目 2. 然后你需要一个登录页面 完整Login.cshtml视图代码戳这里-共计55行 效果预览图 !DOCTYPE htmlhtmlheadmeta http-equivContent-Type contenttext/html; charsetutf-8 /title登录界面/titlemeta nameviewport contentwidthdevice-width,initial-scale1.0,user-scalablenolink relstylesheet hrefhttps://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.cssstyle typetext/cssbody { color: #fff; font-family: 微软雅黑; font-size: 14px; background: url(https://dn-coding-net-production-pp.qbox.me/96ec8cc7-0e5f-4217-b853-4a88c15579f3.png) no-repeat; }.wrap1 { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; height: 450px; }/*把整个屏幕真正撑开--而且能自己实现居中*/.main_content { background: url(https://dn-coding-net-production-pp.qbox.me/2ed70a05-04ad-4ccf-81d4-bc1fad2b6e41.png) repeat; margin-left: auto; margin-right: auto; text-align: left; float: none; border-radius: 8px; }.form-group { position: relative; }.login_btn { display: block; background: #3872f6; color: #fff; font-size: 15px; width: 100%; line-height: 50px; border-radius: 3px; border: none; }.login_input { width: 100%; border: 1px solid #3872f6; border-radius: 3px; line-height: 40px; padding: 2px 5px 2px 30px; background: none; }.icon_font { position: absolute; top: 12px; left: 10px; font-size: 18px; color: #3872f6; }.font16 { font-size: 16px; }.mg-t20 { margin-top: 20px; }media (min-width:200px) {.pd-xs-20 { padding: 20px; }}media (min-width:768px) {.pd-sm-50 { padding: 50px; }}#grad { background: -webkit-linear-gradient(#4990c1, #52a3d2, #6186a3); /* Safari 5.1 - 6.0 */ background: -o-linear-gradient(#4990c1, #52a3d2, #6186a3); /* Opera 11.1 - 12.0 */ background: -moz-linear-gradient(#4990c1, #52a3d2, #6186a3); /* Firefox 3.6 - 15 */ background: linear-gradient(#4990c1, #52a3d2, #6186a3); /* 标准的语法 */ }/*jquery.validate css*/.field-validation-error { color: #e14430 !important; padding-top: 5px; }.input-validation-error { border-color: #d38e99; }/style/headbodydiv classcontainer wrap1h2 classmg-b20 text-center后台管理系统/h2div classcol-sm-8 col-md-5 center-auto pd-sm-50 pd-xs-20 main_contentp classtext-center font16用户登录/pform asp-actionLogin methodpost div classform-group mg-t20i classicon_font glyphicon glyphicon-user/iinput typetext classlogin_input asp-forUserName placeholder请输入用户名 autofocus /span asp-validation-forUserName/span/divdiv classform-group mg-t20i classicon_font glyphicon glyphicon-lock/iinput typepassword classlogin_input asp-forUserPwd placeholder请输入密码 /span asp-validation-forUserPwd/span/divdiv classcheckbox mg-b25 hidelabelinput typecheckbox记住我的登录信息                    /label/divbutton typesubmit classlogin_btn登 录/button/form/div/div/body/html 3. 然后你需要一个登录的控制器AccountController 控制器里面至少拥有一个呈现登录页的action一个接收登录请求的action一个退出的action ·登录· 判断是否存在用户将用户名或者用户ID加密后记录到cookie中跳转到管理页 ·退出· 将cookie移出掉跳转到登录页 加密的方法可自行切换为其他的加密方法    public class AccountController : Controller{           private readonly IUserService _userService;                 public AccountController(IUserService userService)        {_userService userService;}                  public IActionResult Login()        {                 return View();}           [HttpPost][ValidateAntiForgeryToken]  public IActionResult Login(AccountModel model)        {            //验证模型是否正确if (!ModelState.IsValid){           return View(model);}                     //调用服务验证用户名密码if (!_userService.Login(model.UserName, model.UserPwd)){ModelState.AddModelError(nameof(model.UserPwd), 用户名或密码错误);                return View();}                     //加密用户名写入cookie中AdminAuthorizeAttribute特性标记取出cookie并解码除用户名var encryptValue _userService.LoginEncrypt(model.UserName, ApplicationKeys.User_Cookie_Encryption_Key);HttpContext.Response.Cookies.Append(ApplicationKeys.User_Cookie_Key, encryptValue);            return Redirect(/);}                   public IActionResult Logout()        {HttpContext.Response.Cookies.Delete(ApplicationKeys.User_Cookie_Key);            return Redirect(WebContext.LoginUrl);}} 4. 然后还需要一个身份验证的特性标记AdminAuthorizeAttribute 本文只是简单的验证是否登录关于更复杂的权限验证可参考文章http://www.cnblogs.com/morang/p/7606843.html以及示例项目 将此特性标记加到需要的地方即可在访问时验证用户是否登录未登录则跳转到登录页。    public class AdminAuthorizeAttribute : Attribute, IAuthorizationFilter{        public void OnAuthorization(AuthorizationFilterContext filterContext)        {            if (string.IsNullOrEmpty(WebContext.AdminName)){                if (filterContext.HttpContext.Request.Headers[X-Requested-With] XMLHttpRequest){filterContext.Result new JsonResult(未登录);}                else{filterContext.Result new RedirectResult(Account/Login);}                return;}}} 上面特性标记代码中的WebContext.AdminName是如何取到的呢还需要结合如下代码    //服务定位器public static class ServiceLocator{           public static IServiceProvider Instance { get; set; }                  public static T GetServiceT() where T : class{            return Instance.GetServiceT();}}          //一些通用的信息public static class WebContext{               public static string AdminName{                    get{                //获取cookievar hasCookie ServiceLocator.GetServiceIHttpContextAccessor().HttpContext.Request.Cookies.TryGetValue(ApplicationKeys.User_Cookie_Key, out string encryptValue);                            if (!hasCookie || string.IsNullOrEmpty(encryptValue))                    return null;                                var adminName ServiceLocator.GetServiceIUserService().LoginDecrypt(encryptValue, ApplicationKeys.User_Cookie_Encryption_Key);                return adminName;}}                public const string LoginUrl /account/login;}         //全局的一些Key值public class ApplicationKeys{              public const string User_Cookie_Encryption_Key User_Cookie_Encryption_Key;               public const string User_Cookie_Key User_Cookie_Key;}             //Startuppublic void ConfigureServices(IServiceCollection services)    {services.AddSingletonIHttpContextAccessor, HttpContextAccessor();//用于获取请求上下文services.AddTransientIUserService, UserService();services.AddMvc();}    public void Configure(IApplicationBuilder app, IHostingEnvironment env)    {        //app.UseMvc()..//最末的时候赋值ServiceLocator.Instance app.ApplicationServices;} 代码说明 首先定义了一个存放服务的静态对象ServiceLocator 在程序启动后将IApplicationBuilder.ApplicationServices赋值给ServiceLocator.Instance,这样就能够在任何地方使用ServiceLocator.Instance获取到注入的服务 为了更好的获取实例添加了一个T GetServiceT()方法 在WebContext中取获取Cookie值ServiceLocator.GetServiceIHttpContextAccessor().HttpContext.Request.Cookies 解密获取的cookie得到用户名ServiceLocator.GetServiceIUserService().LoginDecrypt(encryptValue, ApplicationKeys.User_Cookie_Encryption_Key); 所以在后台就能使用WebContext.AdminName获取到当前登录用户名或者根据用户名获取登录信息 总结 自定义特性标记和过滤器之间差开一个IFilterMetadata换言之特性标记实现了IFilterMetadata就等于是个过滤器(个人理解) asp.net core中模型绑定使用asp-for asp.net core注入服务: 在 Startup.ConfigureServices方法中注入 services.AddTransientIUserService, UserService() asp.net core获取HttpContext对象 参考ASP.NET Core开发之HttpContext ASP.NET Core中提供了一个IHttpContextAccessor接口HttpContextAccessor 默认实现了它简化了访问HttpContext。 它必须在程序启动时在IServicesCollection中注册这样在程序中就能获取到HttpContextAccessor并用来访问HttpContext。 services.AddSingletonIHttpContextAccessor, HttpContextAccessor(); asp.net core中表单直接使用form标签asp-action,asp-controller等指定路由参数即可并且能够自动生成防伪字段标识配合ValidateAntiForgeryToken特性标记预防CSRF 代码生成比较图 相关文档地址https://docs.microsoft.com/zh-cn/aspnet/core/security/anti-request-forgery autofocus属性 可使文本框自动获取焦点 Demo下载地址 点击下载Demo Coding仓库地址克隆代码git clone https://git.coding.net/yimocoding/WeDemo.git -b LoginDemo LoginDemo 探索学习中若有错误或者不足指出还望园友指出。 原文地址http://www.cnblogs.com/morang/p/7614537.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么通过域名访问网站彩票网站开发教程

在电商领域,能够快速且准确地获取商品数据是至关重要的。淘宝作为中国领先的电商平台,通过其开放的API接口为商家们提供了强大的数据服务功能。本文将验证如何高效地利用淘宝API接口获取商品数据,并提供一套行之有效的策略和步骤。 预备工作…

手机网站制作方案响应式网页设计ppt

(注:因为把第七讲和第八讲放在一起了,主要是对那两节的了解,简单应用,没太深究!不过全景视图和枢轴视图真的效果很不错!) Express Blend工具: 本节主讲:对微软…

网站数据库搬家wordpress 酷炫分页

思路 构建一个单调递增的队列类型,pop和push操作在队列内部进行特殊定义(队头存储当前滑动窗口的最大值;队列中比插入元素小的队尾元素均要移除;比队尾元素小的元素直接插入队列;当滑动窗口移除的元素和队头元素相等时…

无法打开服务器上的网站厦门关键词排名推广

目录 前言 一、场景需求 1、Leaflet.js的不足 2、Turf.js 二、原始数据展示 1、点位数据展示 2、定义样式 3、定位数据初始化 三、Turfjs中bbox生成 1、官网讲解 2、轨迹bbox生成 四、Turfjs生成外包多边形 1、官网例子 2、凸多边形生成 总结 前言 在一些共享出…

QBtn 组件go参数类型错误解决方案

QBtn 组件go参数类型错误解决方案QBtn 组件go参数类型错误解决方案 一、问题描述 在 Quasar 框架中使用QBtn组件时,若通过to属性指定导航路径,@click事件会额外接收一个go参数(用于触发导航的函数)。由于 TypeScri…

1. 大模型的选择详细分析 - Rainbow

1. 大模型的选择详细分析 @目录1. 大模型的选择详细分析介绍特性:提示词工厂对话拦截对话记忆toolsRAG技术下的 ETLMCP模型的评估可观察性agent应用langchain4j vs springAI大模型选型最后:介绍Spring AI 是一个面向…

云计算实践部署笔记

云计算实践笔记 实验一:在云平台上创建虚拟机 1. 填写基本信息: 系统类型选择:Linux 系统版本选择:CentOS 6/7 (64bit) 2. 填写硬件信息: CPU总数:2 内存:4GB 磁盘空间:20GB 网卡:Vswhich0 光驱:CentOS-7-…

[eJOI 2024] 奶酪交易 / Cheese

前言: 译者的语文成绩不怎么样啊。 解题思路: 假设农夫 \(i\) 所拥有的奶酪价值为 \(p_{i}\)。 稍微细想一下 \(i\) 和 \(j\) 交易这件事,因为钱的面值只有 \(2\) 的次幂,所以 \(j\) 找 \(i\) 的钱的总面值一定是 …

逆向分析之switch语句

前言 本次我们要介绍的是C/C++中的switch语句在编译为可执行程序后的反汇编内容 一只 DEMO 首先我们需要先写一段示例代码,作为我们的分析对象 void switch_demo(int v) {switch(v){case 4:printf("v = 4\n"…

章丘建设局网站小广告怎么做

文章目录 前言一、动态合批的规则1、材质相同是合批的前提,但是如果是材质实例的话,则一样无法合批。2、支持不同网格的合批3、动态合批需要网格支持的顶点条件二、我们导入一个模型并且制作一个Shader,来测试动态合批1、我们选择模型的 Mesh…

2008iis里没加域名 网站指向还在重庆物流公司网站建设

网上的教程有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。 安装环境:win 10 1、下载zip安装包: MySQL8.0 For Windows zip包下载地…

华北冶建工程建设有限公司网站平台公司信用评级

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用Float属性⭐ 使用Flexbox布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感…

手机网站建设专业服务公司微信公众平台官网手机版

来源:混沌巡洋舰原文:摘自 edge 系列图书 《那些最重要的科学新发现》迈克斯泰格马克(MaxTegmark):麻省理工学院物理系终身教授,平行宇宙理论研究专家,未来生命研究所创始人;著有《生命3.0》《穿越平行宇宙…

营销网站htmlwordpress教程帕兰

JavaScript是一种广泛应用于Web开发的轻量级、解释型、面向对象的脚本语言,它支持事件驱动、函数式以及基于原型的编程风格。JavaScript不仅可以用于客户端(在用户的浏览器中运行),也可以在服务端(如Node.js环境&#…

推荐门户网站建设公司2个女人做暧暧网站

目录 一、效果图 二、qtDesigner ①拖出一个frame作为组容器并贴上背景样式 ②拖出主要的三个控件:frame、line、frame、label*2 ③固定大小并设置字体、布局一下 ④拷贝三份并水平布局一下 ⑤设置样式 ⑥调整布局 三、ui文件 四、代码 一、效果图 二、qtD…

批量查询设计桩号方法及文件格式

工具 → 设计标高 文件格式如下: HINTCAD5.84_STA_SHUJU47510.000 147520.000 247530.000 347540.000 447550.000 547560.000 647570.000 747580.000 847590.000 947600.000 10 【一定注意最后带个空行】,文件后缀名…

html5 响应式音乐网站网站推广软文选择天天软文

1.输入文件为基因组文件和gff3文件,输出为5utr和3utr,并且utr已经考虑了正负链和可变剪接情况,意思是如果utr存在可变剪接,输出的文件已经给拼接好了,并且考虑了正负链和拼接方向 #!/usr/bin/env python # -*- coding: utf-8 -*- # python lin_extract_5utr_cds_3utr2.py…

搭建Python的运行开发环境

在本次的学习中,我们将学习搭建python的编程环境,并将运行第一个python程序-在终端中打印输出 “Hello Python World!” Python是一种跨平台的编程语言,这就意味着它可以运行在所有主流的操作系统中。在所有安装pyt…

详细介绍:树上LCA和树链剖分(未完待续)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

上海网站建设置作山西响应式网站建设设计

一:前言 多线程在java中具有举足轻重的地位,无论是平时开发中还是面试求职中,对多线程这一块的知识点考察都非常多的,本周我们将平时开发中、面试中常见的一些多线程知识进行梳理,让大家对这一块有更加深入的理解 二…