精华内容
下载资源
问答
  • Django 权限认证 编写 -- 根据不同用户设置不同的显示和访问权限

    示意图:
    用户权限

    html:(模态框等 html和js代码,参考:Django 创建/删除用户

    {#  权限管理  #}
        <div id="permissionManageDiv" style="margin-left: 10px; display: none;">
            <div>
                <h4 style="margin-top: 15px;">选择用户</h4>
                <hr style="margin-top: 5px;" />
                <select name="usernamePermission" id="usernamePermission" class="selectpicker" data-live-search="true">
                    {% for user in users %}
                        <option value="{{ user.username }}">{{ user.username }}</option>
                    {% endfor %}
                </select>
                <hr />
            </div>
    
            <div>
                <h4 style="margin-top: 15px;">勾选权限</h4>
                <hr style="margin-top: 5px;" />
                <div style="margin-bottom: 10px;">
                    <div class="input-group input-group-lg" style="float: left; margin-right: 10px;">
                        <span class="input-group-addon">玩家管理</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="0" />
                        </span>
                    </div>
                    <div class="input-group input-group-lg" style="float: left; margin-right: 10px;">
                        <span class="input-group-addon">联盟管理</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="1" />
                        </span>
                    </div>
                    <div class="input-group input-group-lg" style="float: left; margin-right: 10px;">
                        <span class="input-group-addon">公告邮件</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="2" />
                        </span>
                    </div>
                    <div class="input-group input-group-lg" style="float: left; margin-right: 10px;">
                        <span class="input-group-addon">订单系统</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="3" />
                        </span>
                    </div>
                    <div class="input-group input-group-lg" style="">
                        <span class="input-group-addon">礼包奖励</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="4" />
                        </span>
                    </div>
                </div>
    
                <div>
                    <div class="input-group input-group-lg" style="float: left; margin-right: 10px;">
                        <span class="input-group-addon">客服反馈</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="5" />
                        </span>
                    </div>
                    <div class="input-group input-group-lg" style="float: left; margin-right: 10px;">
                        <span class="input-group-addon">玩家日志</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="6" />
                        </span>
                    </div>
                    <div class="input-group input-group-lg" style="float: left; margin-right: 10px;">
                        <span class="input-group-addon">服务器管理</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="7" />
                        </span>
                    </div>
                    <div class="input-group input-group-lg">
                        <span class="input-group-addon">管理员管理</span>
                        <span class="input-group-addon">
                            <input type="checkbox" name="permissionList" value="8" />
                        </span>
                    </div>
                </div>
            </div>
            <button type="button" id="changePermissionBtn" class="btn btn-default" style="width: 100px; margin-top: 15px;" data-toggle="modal" data-target="#alertTip" data-whatever="重置权限?" >提&nbsp;&nbsp;交</button>
        </div>

    js:

    // 修改权限
    function changePermission() {
        var permissionList = $('input[name="permissionList"]:checked');
        var permissions = '';
        $.each(permissionList, function (index, value, array) {
            if (index+1 == permissionList.length) {   // 最后一位,不加逗号
                permissions += permissionList[index].value;
            } else {
                permissions += permissionList[index].value + ', ';
            }
        });
        $.ajax({
            url: '/changePermission',
            type: 'POST',
            data: {
                username: $('#usernamePermission').val(),
                permissions: permissions
            },
            success: function (data, textStatus) {
                if (data == 1) {
                    alert('修改成功!');
                    window.location.href = 'index';
    
                } else if (data == -1) {
                    alert('未知错误!');
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        })
    }

    Django models 中,建立 模型: (这一步很重要!!!)
    建立好后,记得用 makemigrations 和 migrate 同步一下!!

    from django.db import models
    
    class Permission(models.Model):
        class Meta:
            #权限信息,这里定义的权限的名字,后面是描述信息,描述信息是在django admin中显示权限用的
            permissions = (
                ('views_slg_users_tem', '查看玩家管理'),
                ('views_slg_alliance_tem', '查看联盟管理'),
                ('views_slg_mail_notice_tem', '查看公告邮件'),
                ('views_slg_order_tem', '查看订单系统'),
                ('views_slg_reward_tem', '查看礼包奖励'),
                ('views_slg_service_reply_tem', '查看客服反馈'),
                ('views_slg_user_log_tem', '查看玩家日志'),
                ('views_slg_server_tem', '查看服务器管理'),
                ('views_slg_manager_tem', '查看管理员管理'),
            )

    建立好后,数据库表(auth_permission)类似于这样: (id 那一列,很重要!!我们后面添加权限要用到的!!)
    auth_permission

    后端python–views视图:

    from django.contrib.auth.decorators import login_required, permission_required
    from django.contrib.auth.models import User
    from django.views.decorators.http import require_http_methods
    from django.http import HttpResponse
    from django.shortcuts import render
    from slg.models.slg.slg_manager_tem import db_change_permission)
    
    # 修改权限
    @login_required(login_url='slg:login')
    @require_http_methods(["POST"])
    @permission_required('slg.views_slg_manager_tem', login_url='slg:get_permissionDenied')
    def change_permission(request):
        permissionsList = [
                            'views_slg_users_tem',
                            'views_slg_mail_notice_tem',
                            'views_slg_order_tem',
                            'views_slg_reward_tem', 
                            'views_slg_service_reply_tem',
                            'views_slg_user_log_tem', 
                            'views_slg_server_tem', 
                            'views_slg_manager_tem'
                           ]
        username = request.POST['username']
        permissions = request.POST['permissions'].split(', ')
    
        if permissions[0] != '':   # 不为空时
            for index, value in enumerate(permissions):
                permissions[index] = permissionsList[int(value)]    # 将 数字 替换为 上面数组中的 字符串
            print(permissions)
        else:
            permissions = []
    
        changeResult = db_change_permission(username, permissions)
        return HttpResponse(changeResult)

    后端python–models视图:

    from django.contrib.auth.models import User
    from django.contrib.auth import authenticate
    from django.db.utils import IntegrityError
    from . import db_models as db
    
    # 修改权限
    def db_change_permission(username, permissions):
        try:
            user = User.objects.get(username=username)
            if permissions:
                pers = []
                for per in permissions:
                    db_per = db.AuthPermission.objects.filter(codename=per).values('id')[0]['id']   # 只把 id 取出来
                    pers.append(db_per)
                #print(pers)   # 形如: [147, 150, 152]  数字为 auth_permission 中的 id
                user.user_permissions = pers  # 这里,只能 加 id,加 codename 是不行的!!!
    
            else:
                user.user_permissions.clear()
            User.objects.get(username=username)   # 刷新 缓存
            #print(user.get_all_permissions())
    
        except Exception:
            return -1
        else:
            return 1   # 修改成功

    错误页面相关: (它是类似于:403, 404 等页面的汇总,也需要设置相关路由)

    permissionDenied.html:

    <!DOCTYPE html>
    <html lang="en">
    {% load staticfiles %}
    <head>
        <meta charset="UTF-8">
        <title>403</title>
    </head>
    <body>
        <h1>403</h1>
        <h2>You don't have enought permissions to this action!</h2>
    </body>
    </html>

    view视图:

    from django.contrib.auth.decorators import login_required
    from django.views.decorators.http import require_http_methods
    from django.shortcuts import render
    
    # GET 渲染 403页面
    @login_required(login_url='slg:login')
    @require_http_methods(["GET", "POST"])
    def get_permissionDenied(request):
        return render(request, 'slg/permissionDenied.html')

    url路由:

    '''总路由,路由分发地'''
    from django.conf.urls import url, include
    
    urlpatterns = [
        url(r'^', include('slg.urls.slg.error')),                      # 错误页面 相关路由
    ]
    '''子路由,这里进入具体的html页面'''
    from django.conf.urls import url
    from slg.views.slg import error
    
    urlpatterns = [
        url(r'^permissionDenied$', error.get_permissionDenied, name='get_permissionDenied'),  # 403页面
    ]

    正常页面的 权限设置:
    base.html:(模板页面,所有页面都继承于此)

     {% if 'slg.views_slg_users_tem' in perms %}      {#  判断 是否 有访问权限,没有的话,就不显示该菜单  #}
                <li role="presentation" class="main-menu" id="top_one">
                    <a href="{% url 'slg:get_slg_users_tem' %}" style="margin-left: 5px;"><span class="glyphicon glyphicon-fire"></span>玩家管理</a>
                </li>
            {% endif %}
    

    其他 veiws视图 中的设置:

    from django.contrib.auth.decorators import login_required, permission_required
    from django.contrib.auth.models import User
    from django.views.decorators.http import require_http_methods
    from django.shortcuts import render
    
    # GET 渲染页面 (其他的POST请求中,最好也加入 @permission_required 用来限制访问)
    @login_required(login_url='slg:login')
    @require_http_methods(["GET"])
    @permission_required('slg.views_slg_users_tem', login_url='slg:get_permissionDenied')  #权限装饰器
    def get_users_tem(request):
        perms = User.get_all_permissions(request.user)    #获取 访问请求 用户的 所有权限
        context = {"perms": perms}
        return render(request, 'slg/slg_users_tem.html', context=context)
    展开全文
  • mysql新建用户并且设置访问权限

    千次阅读 2019-02-28 16:44:48
    但是又想让别人看到所有的数据库,这时候就需要在新建数据库的时候给新加的用户设置权限,网上有很多通过代码给新建用户赋予权限的文章,都看懂,这里给一种通过Navicat客户端给用户设置权限的方法、 ...
    有时候我们需要新建一个用户,给其他部门的人使用数据库,但是又不想让别人看到所有的数据库,这时候就需要在新建数据库的时候给新加的用户设置权限,网上有很多通过代码给新建用户赋予权限的文章,都看不懂,这里给一种通过Navicat客户端给用户设置权限的方法、

    其他数据库客户端没试过,Navicat下载安装自己去找吧

    第一步:用最高权限的账户连接数据库

    在这里插入图片描述
    需要注意是是用户和你要给别人的数据库需要选中,看到现有的用户,点击新增用户按钮

    第二步:填写新建用户的信息

    在这里插入图片描述
    注意:主机那里需要填写%

    第三步 :填写权限信息

    在这里插入图片描述
    选中权限-添加权限-选中数据库-选中某个表-选择新建的用户可对表进行的操作-确定

    第四步:ctrl+s保存改用户

    第五步:新用户连接

    在这里插入图片描述

    展开全文
  • ftp服务用户访问权限设置

    千次阅读 2019-06-09 22:46:36
    设置用户有上传权限: # chown -R ftpqn /home/ftpqn/ # chmod 777 -R /home/ftpqn/

     

    设置用户有上传权限:

    #  chown -R ftpqn /home/ftpqn/

    # chmod 777 -R /home/ftpqn/

    展开全文
  • 标准用户访问IIS权限设置

    万次阅读 2018-01-05 11:45:07
    IIS标准用户设置权限访问IIS,无权限访问IIS文件夹,无权限访问数据库。 1.以此用户为例,建立一个标准用户test,设置密码m_1234。...2.设置test用户不能访问IIS文件夹,首先鼠标右键选择IIS属性,选择安全选项卡。

    IIS标准用户设置无权限访问IIS,无权限访问IIS文件夹,无权限访问数据库。

    1.以此用户为例,建立一个标准用户test,设置密码m_1234

     

    2.test用户登录访问iis的时候提示无权限,需要输入管理员用户和密码登录。

     

    点击取消或×会展示iis管理器页面,但是无法进行操作。

     

    2.设置test用户不能访问IIS文件夹,首先鼠标右键选择IIS属性,选择安全选项卡。

     

    点击编辑添加权限,选择高级,添加IIS_IUSERSIUSER权限

     

    添加权限后,用test用户访问IIS提示您当前无权限访问文件夹

     

    点击继续会继续拒绝您访问文件夹,安全选项卡为不可操作状态。

     


    如有帮助请点赞,如有转载请注明出处!!!

    展开全文
  • linux设置用户访问权限

    千次阅读 2019-08-06 10:52:21
    组、角色已经创建好。 组名:dev ,角色:pay 要求:角色pay登录路径在**/usr/local/java**下,对java/下所有子目录及文件只有读的权限 1、设置角色的访问目录(由于我...2、对上层目录设置为root所有 # chown root ...
  • win7/win10设置电脑用户访问权限

    千次阅读 2019-09-03 17:42:26
    win7/win10设置标准用户访问权限 第一步:添加新用户 进入控制面板=>用户账号=>在电脑用户中添加新的用户 **第二步:**添加其它人员 第三步:**可以更改类型 第四步:设置权限 右键设置权限的盘,点击安全=...
  • 前言 默认情况下,Nexus私服的仓库是允许匿名(anonymous)访问的,也就是任何...既然是私服,可能有些库想要给其他人访问,可以通过设置凭据访问来限制用户访问远程依赖库,最简单的一种就是用户名密码凭据访问
  •  用户可以远程访问服务器上的共享文件夹,每个用户只能访问所在分组的文件夹。管理员拥有全部文件夹的完全控制权限。 2 设置服务器的文件共享属性 点击右下角的”网络和共享中心“,”共享和发现“的设置如下。...
  • git设置用户访问目录权限

    万次阅读 2017-10-24 14:36:17
    作者:代码罐头 ... 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...GIT的权限管理是说控制用户能不能PUSH或者DELETE分支,或者能不能PUSH代码,而不是能不能
  • 发两张图吧:
  • linux怎么设置vsftp用户访问目录权限

    千次阅读 2018-03-07 14:22:11
    1.在指定的目录创建文件夹(访问的目录):mkdir picture2.创建一个用户组(zdhgroup):groupadd zdhgroup3.创建一个用户并指定路径和...设置配置文件(指定目录访问可用访问其他目录)添加ftp用户(zdhuser)...
  • MySQL8.0本地访问设置为远程访问权限

    千次阅读 2018-09-09 13:12:36
    MySQL8.0本地访问设置为远程访问权限 1.管理员权限下,进入bin下,这个你不会就百度吧。登录MySQL mysql -u root -p 输入您的密码 2.选择 mysql 数据库 use mysql; 因为 mysql 数据库中存储了用户信息的 user...
  • Centos给文件设置了777权限不能访问: 原因:开启了SELinux导致 1.查看SELinux状态: /usr/sbin/sestatus -v ##如果SELinux status参数enabled即开启状态 SELinux status: enabled ##也可以用这个命令...
  • oracle 用户之间访问权限设置

    万次阅读 2015-04-09 10:45:53
    假如Oracle中有两个用户A和B,如果A要访问B拥有的表 SELECT * FROM B.TABLENAME。 在A下 grant connect,resource to B 在B下 grant connect,resource to A 让这两个用户可以互相访问各自的对象(表,过程和函数等) ...
  • 1、ALTER USER 'user_name'@'... 创建用户: user_name 用户名; host 允许访问的主机,(%:允许全部;127.0.0.* ip段) passwrod 密码 2、GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP,...
  • 普通用户登录对normal有rw权限,对important目录只有r权限;管理权限对normal、important目录都有读写权限。 下面是具体步骤: 一、安装samba # sudo apt-get install samba 二、创建用户 建立2个组: #groupadd ...
  • 访问控制列表(ACL)管理器中,我们可以对用户权限进行控制,如图所示 当前 ACL 规则中,明确了用户或者组所具有的权限。如下图所示,我们将所有用户权限无。 退出登陆后,进入网站主页,你会看到,左边...
  • 用户设置访问数据库的权限

    千次阅读 2014-12-18 11:28:36
    转载自:... 数据库名:test_db ...授予的权限 增,删,改,查 主机地址 172.1.1.1   //授权的sql语句  grant ALL on test_db.* to 'test'@'17
  • 在项目中一般需要设置不同用户不同权限,fabric中的链码执行同样如此,可以通过用户标签来实现。 流程:sdk申请用户时,指定用户标签,链码执行时获取对应标签实现链码调用权限验证。 sdk代码(注册用户): ...
  • [Zeppelin]设置访问登录权限

    千次阅读 2017-06-05 17:52:41
    1. 概述我们在浏览器中输入 http://localhost:8080/ 进入Zeppelin的主页,需要用任何的验证就可以进入主页面:换句话说,任何人在浏览器输入上面地址(本机),都可以访问Zeppelin...如果设置访问登录权限,需要设置c

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 883,700
精华内容 353,480
关键字:

不能为访问用户设置不同权限