mvc登录代码(mvc登录注册)
admin 发布:2022-12-19 19:33 147
今天给各位分享mvc登录代码的知识,其中也会对mvc登录注册进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何用jsp,servlet完成一个简单的用户登录的MVC模式设计的实现
- 2、求.net mvc3注册登陆页面代码
- 3、springmvc实现用户登入controller怎么写
- 4、javascript MVC模式 对于MVC我懂得如何架构和写代码,能不能就登录这一功能给我解释一下,最好附代码?
- 5、c#mvc 怎么验证登录状态
- 6、怎么在spring mvc 框架中 写登录验证的验证码
如何用jsp,servlet完成一个简单的用户登录的MVC模式设计的实现
首先,你要知道M,V,C分别是什么意思。
M是model,也就是模型,一般都是用javabean来表示,JavaBean有实体类,逻辑业务类两种,例如一个实体类对应数据库的一个表,我们对数据库的操作可以用逻辑类来做。
V是view,是现实显示层,也就是用jsp来做,注意,在jsp中要尽量少用java脚本,这也是我们的追求。
C是controller,也就是控制层,它负责接收由V层发过来的请求,然后根据请求调用JavaBean层的类,然后再将数据返回给页面或者选择跳转到哪个页面。
例如登陆系统,用户从V层看到登陆界面,然后用户填写ID和密码,发送请求,C层接收到请求,根据请求调用M层,查询数据库,如果存在该用户并且密码正确,责跳转到登陆成功页面或者其他的;如果用户名或者密码不存在或错误,就跳转到登陆失败提示页面。
呵呵,我已经尽量简洁的说出了MVC模式的开发,当然,如果去看书,肯定会比较详细的。
记得我刚开始学的时候也是什么也不懂,用多了就明白了。
记住,概念固然重要,但是,更重要的是实践,多敲代码才是最快的学习方法。
希望我的回答可以给你带来帮助,加油!
如下图所示:
求.net mvc3注册登陆页面代码
登录:
[HttpPost]
[ValidateInput(false)]
public ActionResult Login(ACL_User model, string url)
{
if (model.UserName == null || model.UserName == "")
ModelState.AddModelError("", "请输入登录名");
else if (model.Password == null || model.Password == "")
ModelState.AddModelError("", "请输入密码");
else
{
var userlist = from ACL_User in db.ACL_User
where ACL_User.UserName == model.UserName
select ACL_User;
if (userlist.Count() == 0)
{
ModelState.AddModelError("", "登录名不存在.");
}
else if (userlist.Count() == 1)
{
ACL_User user = userlist.FirstOrDefault();
if (user.Password == Vooyo.Helper.MD5Encrypt.MD5(model.Password))
{
if (user.Deleted == true)
{
ModelState.AddModelError("", "该用户已注销,详情请和管理员联系.");
}
else
{
if (user.Avaliable == false)
{
ModelState.AddModelError("", "用户审核中.");
}
else
{
Session["user"] = user;
Session["url"] = url;
if (user.ACL_Role.RoleName.Equals("机组人员"))
{
return RedirectToAction("ChooseRole", "Account");
}
return RedirectToAction("Index", "Home");
}
}
}
else
{
ModelState.AddModelError("", "密码错误.");
}
}
}
return View(model);
}
注册:
#region 注册
public ActionResult Registered()
{
var roles = from ACL_Role item in db.ACL_Role
select item;
ViewBag.roles = roles;
var department = from Department d in db.Departments
select d;
ViewBag.department = department;
return View();
}
[HttpPost]
public ActionResult Registered(ACL_User model)
{
string prePassword = model.Password;
try
{
model.ID = Guid.NewGuid();
model.Avaliable = false;
model.Deleted = false;
MD5 md5 = MD5.Create();
// TODO: Add insert logic here
ViewBag.State = 1;
model.Password = Vooyo.Helper.MD5Encrypt.MD5(model.Password);
db.ACL_User.Add(model);
db.SaveChanges();
//Session["user"] = model;
return View();
}
catch
{
model.Password = prePassword;
return View(model);
}
}
#endregion
springmvc实现用户登入controller怎么写
@Controller
public class LoginController {
public static final String CURRENT_USER_NAME = "CURRENT_USER_NAME";
@Autowired
private UserService userService;
@RequestMapping(value="/login", method=RequestMethod.POST)
@ResponseBody
public ResponseEntityLoginReturnBean login(@ModelAttribute LoginPostBean loginForm, HttpSession session) {
String username = loginForm.getUsername();
String password = loginForm.getPassword();
if(Tools.checkParams(username, password)){
String passwordmd5 = Tools.MD5(password);
loginForm.setPassword(passwordmd5);
if(userService.loginValidate(loginForm)){
session.setAttribute(CURRENT_USER_NAME, username);
return new ResponseEntityLoginReturnBean(new LoginReturnBean(username), HttpStatus.OK);
} else {
return new ResponseEntityLoginReturnBean(HttpStatus.UNAUTHORIZED);
}
} else {
return new ResponseEntityLoginReturnBean(HttpStatus.BAD_REQUEST);
}
}
}
格式基本是如上所示,楼主对照着写就行了,然后用户登录主要是验证用户和密码,密码需要用加密方法加密,具体取决于楼主所用的是哪种加密,上述代码用的是MD5,验证完后,如果成功,进入用户界面,将用户信息写进session,如果失败,返回登录界面,并告知登录失败信息。
javascript MVC模式 对于MVC我懂得如何架构和写代码,能不能就登录这一功能给我解释一下,最好附代码?
//由于javascript实际上比java更加彻底的对象化的原因,所以model层可以任意的删改,所以只做了简化
function Model(o){
for(var k in o )
this[k] = o;
}
//视图层模板
function _template(s,args){
return s.replace(/\$\$\{(.*?)\}/img,function(ag,ag1){
return args[ag1]||ag;
})
}
var _routeList={
"login":{
_model:new Model({id:null,pwd:null}),//假设这里是填充好的数据
controlFun:function(id,pwd){//相当于action的方法
if(id==="hao" pwd==="123"){
this._model.id="hao";//模拟对象数据,填充,为视图层准备
document.getElementById("result").innerHTML=_template("div欢迎$${id}登陆/div",this._model);//填充视图层数据
}
}
}
}
function router(url ,args){//模拟路由层
if(url==="login"){//简写,相当于action请求路径
_routeList[login].controlFun.apply(this,args)
}
}
//假设下面是提交按钮
input ..... onclick= router("login",["hao","123"]) //路由层做转发
我写的非常简单,接近伪代码
视图层的绑定,action的请求拦截,Model层的一些对象操作都没写,还有DI啊之类的特性也没做,因为一旦真正写起来代码量太大都不够贴的,所以我暂时只把思路描述一下
c#mvc 怎么验证登录状态
首先,mvc开发的是web应用,web应用中, 一般使用cookie或者session来进行身份验证。
参考: 介绍了cookie和session的概念和作用,
简单的说,Cookie是客户端记录的信息, Session是服务器记录的信息, 而身份验证需要使用的就是Cookie或者Session。
所以,mvc做身份验证(登录),第一步是验证身份,然后颁发给用户cookie或者session,
如:
//控制器代码:
[HttpPost]
public ActionResult Login()
{
//...登录验证,
if(用户名密码正确)
{
Session["UserId"] = "100"; //这里举的是最简单的例子,即记录用户的ID
}
}
那么记录了之后, 服务器就知道,这个人是ID = “100"的那个用户了,然后就是验证了。
在MVC中,一般使用FIlter来控制用户的权限,即某个Action需要怎么样的权限、或者指定某个用户才能进行访问,否则返回一个错误。
一般会重写过滤器, 在你的MVC项目中新建一个类:
public class MyAuthorizeAttribute : System.Web.Mvc.AuthorizeAttribute
//继承mvc自带的AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if(httpContext.Session["UserId"]!=null)
{
if(httpContext.Session["UserId"]=="100"}
{
return true;
}
else
{
return false;
}
}
return false;
}
}
这个过滤器很简单, 如果Session["UserId"] =="100"的时候,才会通过(返回true),其他都不允许通过。
最后一步,就是给需要验证身份的控制器加上这个过滤器即可。
[Authorize]
//这个就是验证身份的, 如果用户没有登录,或者UserId不等于100,
系统会禁止他进入Index的界面
public ActionResult Index()
{
Return View();
}
怎么在spring mvc 框架中 写登录验证的验证码
form id="loginInputForm" method="post"
hr/
用户名:input type="text" id="accountNumber" name="accountNumber" value="" /
hr/
密 码:input type="password" id="password" name="password" value=""/
hr/
验证码:input type="text" size="10px" name="VerificationCode" placeholder="请输入验证码" id="VerificationCode"/
span style="padding: 0px;"
a href="javascript:void(0);" onclick="VerificationCode()"img id="randCodeImage" src="VerificationCode/generate.action"//a
/span
/form
解释:
首先验证码图片是一个img,而它的src肯定是一个动态生成图片的路径,我们可以固定一个专门只为做验证码的方法,这里以VerificationCode/generate.action方法为例,这个方法是生成图片的方法,这样进入这个页面就会有一个初始的图片,当我们点击这个图片的时候就会不停的更换不一样的图片,就是利用异步提交的方式进行,下面是js代码
/**
*验证码刷新
*/
function VerificationCode(){
var rad = Math.floor(Math.random() * Math.pow(10, 8));
//uuuy是随便写的一个参数名称,后端不会做处理,作用是避免浏览器读取缓存的链接
$("#randCodeImage").attr("src", "VerificationCode/generate.action?uuuy="+rad);
}
为什么要在后面加一个随机数?因为如果不加一个随机数,每次不停的访问同一个一模一样的方法的时候,实际上不会去执行这个方法,因为它取得是缓存,所以有时候点击验证码图片刷新图片却不动,就是这个原因,加上验证就会让系统知道你的访问地址发生了变化,就不会取缓存了。
mvc登录代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mvc登录注册、mvc登录代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 04-26轮播简易代码(轮播图源代码)[20240426更新]
- 04-26jqueryphp会员权限代码的简单介绍[20240426更新]
- 04-26js时间弹窗代码(js中时间)[20240426更新]
- 04-26关于asp在线投票系统代码的信息[20240426更新]
- 04-25搜狐快站js代码(搜狐快站js代码大全)[20240425更新]
- 04-25网页出代码(网站发布页代码)[20240425更新]
- 04-25数据库仓库管理系统代码(仓库管理系统 数据库)[20240425更新]
- 04-25java文件读写访问代码(Java文件读入)[20240425更新]
- 04-25php代码解析器(php浏览器源码)[20240425更新]
- 04-25电脑维修代码(修复电脑代码大全)[20240425更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接