Python 学习 第十篇 CMDB用户权限管理
2016-10-10 16:29
441 查看
不管是什么系统,用户权限都是至关重要的。所以我在注册用户的时候,就为他们分了两种权限。一种是普通用户的权限,一种是管理员权限。普通用户在数据库中的value是user,管理员的value是admin。
因为我想设计的系统是只有一位管理员的。所以这里我没有根据角色来进行判断。而是根据他的用户名来判断。管理员的用户名是唯一的,那就是admin。
闲话少说,先把注册用户的代码贴上来
逻辑端:
判断用户权限就在base.html这个模板里面做
普通用户只可以看到他自己的个人信息。
管理员用户可以看到所有的信息
因为我想设计的系统是只有一位管理员的。所以这里我没有根据角色来进行判断。而是根据他的用户名来判断。管理员的用户名是唯一的,那就是admin。
闲话少说,先把注册用户的代码贴上来
逻辑端:
@app.route("/adduser",methods=['GET','POST']) def adduser(): if request.method =="GET": username=session.get("name") return render_template("register.html",username=username) #前端post请求,逻辑端通过request.form获取整个表单的值 if request.method =="POST": userlist=dict((k,v[0]) for k,v in dict(request.form).items()) userlist['password']=hashlib.md5(userlist['password']+salt).hexdigest() userlist['re_password']=hashlib.md5(userlist['re_password']+salt).hexdigest() if userlist["name"] in [ n.values()[0] for n in get_userlist(["name"]) ]: errmsg = "username is exist" return json.dumps({'code':'1','errmsg':errmsg}) if not userlist["name"] or not userlist["password"]: errmsg = "username and password is not empty" return json.dumps({'code':'1','errmsg':errmsg}) if userlist["password"] != userlist["re_password"]: errmsg="password is error" return json.dumps({'code':'1','errmsg':errmsg}) fields = ["name","name_cn","password","mobile","email","role","status"] values = [ '%s'%userlist[x] for x in fields] userdict = dict([(k,values[i]) for i,k in enumerate(fields)]) add_user(userdict) return json.dumps({'code':'0','result':"register sucess"})数据端代码:
def add_user(userlist): sql="insert into users(%s)values('%s')"%(",".join(userlist.keys()),"','".join(userlist.values())) curs.execute(sql) conn.commit()前端代码:
...省略 <div class="form-group"> <label for="password" class="col-sm-2 control-label">密码<span class="red-fonts"></span></label> <div class="col-sm-8"> <input id="password" name="password" placeholder="密码" type="password" class="form-control"> </div> </div> <div class="form-group"> <label for="password" class="col-sm-2 control-label">确认密码</label> <div class="col-sm-8"> <input id="re_password" name="re_password" placeholder="再次确认密码" type="password" class="form-control"> </div> </div> <div class="form-group"> <label for="role" class="col-sm-2 control-label">角色</label> <div class="col-sm-8"> <select name="role"> <option value="admin" class="form-control">管理员</option> <option value="user" class="form-control">普通用户</option> </select> </div> </div> <div class="form-group"> <label for="status" class="col-sm-2 control-label">状态</label> <div class="col-sm-8"> <select name="status"> <option value="0" class="form-control">激活</option> <option value="1" class="form-control">锁定</option> </select> </div> </div> ...省略因为我的前端是从别的地方套用过来的。这里我采用了继承
判断用户权限就在base.html这个模板里面做
<ul class="nav nav-second-level collapse"> <li class="group"><a href="/userinfo">个人中心</a></li> {%if username=='admin'%} <li class="user"><a href="/userlist">用户列表</a></li> {%endif%} </ul>这里的username 是从逻辑端传到前端的。细心的同学好好看下就知道了
<li id="jasset"> <a><i class="fa fa-inbox"></i> <span class="nav-label">资产管理</span><span class="fa arrow"></span></a> {%if username=='admin'%} <ul class="nav nav-second-level collapse"> <li class="group"><a href="/idc">机房管理</a></li> <li class="asset"> <a href="/cabinet">机柜管理</a></li> <li class="idc"> <a href="/server">服务器管理</a></li> </ul> {%endif%} </li> <!-- 资产管理 -->到这里。用户权限就已经做完了
普通用户只可以看到他自己的个人信息。
管理员用户可以看到所有的信息
相关文章推荐
- Python 学习 第十篇 CMDB用户权限管理
- [python3.6 flask web学习]Flask用户权限管理
- [linux学习笔记]第2天:时间管理,命令帮助信息,文本查看,权限及用户管理,BASH和变量,脚本
- linux用户及权限管理-学习总结
- MySQL学习之:用户管理(添加用户,删除用户,添加权限,查看权限,密码等)
- linux学习入门13——linux权限机制(linuxcast.net)(用户和组的管理和操作chmod、chown、chgrp)
- oracle学习用户创建和权限管理
- linux 用户权限管理 学习 经验
- Oracle学习(四)之用户、权限、角色管理
- linux初步学习之用户和用户组及权限管理浅谈
- Oracle基础学习六之数据库权限及用户管理
- 经典SQL学习笔记 (六)-用户管理、视图、序列、索引、权限
- Oracle用户、权限、角色管理学习(文字很系统)
- Linux基础学习(二)-用户及文件权限管理
- 尚观学习笔记 用户权限管理
- 一步步学习SPD2010--第二章节--处理SP网站(2)--管理网站用户和权限
- Linux学习之——用户及文件权限管理
- Linux运维学习历程-第六天-Linux用户、组以及权限管理
- 实验楼Linux学习笔记(二)之用户及文件权限管理
- MySQL中用户及权限管理学习