Foxtable(狐表)用户栏目专家坐堂 → WeUI权限请教!


  共有4291人关注过本帖树形打印复制链接

主题:WeUI权限请教!

帅哥哟,离线,有人找我吗?
chen_sheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:700 积分:6248 威望:0 精华:0 注册:2018/5/10 9:05:00
WeUI权限请教!  发帖心情 Post By:2020/5/22 21:05:00 [只看该作者]

参考视频和帮助用weui做了个例子 

 很快很强大  高高兴兴的发布成APP才发现只是处理了 验证登陆  没有分模块授权

没有在帮助内找到模块授权的例子  希望官方可以指导一下  感谢!

 回到顶部
帅哥哟,离线,有人找我吗?
chen_sheng
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:700 积分:6248 威望:0 精华:0 注册:2018/5/10 9:05:00
  发帖心情 Post By:2020/5/22 21:18:00 [只看该作者]

以下示例代码能否加上权限的指导 这样封装APP才完美

譬如

张三 有c1的权限

李四 有所有权限的授权  

如何在用户登录成功时只看到自己授权的模块

HttpRequest事件代码:

Dim wb As New weui'身份验证
Dim
 Verified As Boolean '用于标记用户是否通过了身份验证
Dim
 UserName As String = e.Cookies("username"'cookie中获取用户名
Dim
 Password As String = e.Cookies("password"'cookie中获取用户密码
If
 e.Path = "logon.htm" '如果是通过登录页面访问,PostValues即可中提取用户名和密码
    If e.PostValues.ContainsKey("username"AndAlso e.PostValues.ContainsKey("password")  Then
        UserName = e.PostValues("username")
        Password = e.PostValues("password")
    End 
If

End
 If
If
 UserName = "张三" AndAlso Password = "888" Then  '实际使用的时候,请改为从数据库读取用户名和密码进行比较
    Verified  = 
True

ElseIf
 Username = "李四" AndAlso Password="999" Then
    Verified  = 
True

End
 If
'开始生成网页
Select
 Case e.path
    
Case "logon.htm" '登录页面
        wb.AddPageTitle("","pageheader","销售系统","由湛江辉迅基于Foxtable开发")
        If e.PostValues.
ContainsKey
("username"AndAlso e.PostValues.ContainsKey("password")  Then '判断是否是验证失败后的重新登录
            wb.AddTopTips("","toptip1","用户名或密码错误!").msec = 2000 '如果用户通过登录按钮访问,则给用户一个2秒的提示.
        
End If
        wb.AddForm("","form1","logon.htm")
        With wb.AddInputGroup("form1","ipg1")
            .AddInput("username",
"
户名","text")
            .AddInput("password",
"
密码","password")
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1"
"
登录""submit")
        End With
    Case "exit.htm" 
'
退出登录
        wb.DeleteCookie("username"
'
清除cookie中原来的用户名和密码
        wb.DeleteCookie("password")
        wb.InsertHTML("<meta http-equiv='Refresh' c>"
'
那么直接跳转到登录页面
    Case "", "default.htm" 
'
首页
        wb.AddPageTitle("","pageheader",
"
销售系统","由湛江辉迅基于Foxtable开发")
        With wb.AddGrid("","g1")
            .Add("c1",
"
增加订单""./images/button.png").Attribute = ""
            .Add("c2","
客户管理""./images/cell.png""http://www.foxtable.com")
        End With
End
 Select
e
.WriteString(wb.Build) '生成网页


 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111422 积分:567186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/23 9:27:00 [只看该作者]

简单的

    Case "", "default.htm" '首页
        wb.AddPageTitle("","pageheader",
"
销售系统","由湛江辉迅基于Foxtable开发")
        With wb.AddGrid("","g1")
if UserName = "张三"
            .Add("c1",
"
增加订单""./images/button.png").Attribute = ""
endif
            .Add("c2","
客户管理""./images/cell.png""http://www.foxtable.com")
        End With

如果有权限表的,查表判断

    Case "", "default.htm" '首页
        wb.AddPageTitle("","pageheader",
"
销售系统","由湛江辉迅基于Foxtable开发")
        With wb.AddGrid("","g1")
if datatables("权限").find("用户='" & UserName & "' and 模块='增加订单'") isnot nothing then
            .Add("c1","增加订单""./images/button.png").Attribute = ""
endif
            .Add("c2","
客户管理""./images/cell.png""http://www.foxtable.com")
        End With

 回到顶部
帅哥哟,离线,有人找我吗?
chen_sheng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:700 积分:6248 威望:0 精华:0 注册:2018/5/10 9:05:00
  发帖心情 Post By:2020/5/23 11:45:00 [只看该作者]

非常感谢蓝版指导!

我们的论坛有权限表处理的案例参考么,麻烦再指导一下!

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111422 积分:567186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/23 11:49:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
南望
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2022/4/7 14:10:00 [只看该作者]

用上面的方法只能是需要权限控制的页的链接不显示了,如果他们知道链接直接在地址栏(IP/LIST.HTM)输入仍然可以访问。如何让输入的页也要判断权限呢?

If UserName = "wh"
    .Add("c1","员工管理", "./images/button.png","list.htm")
End If 


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111422 积分:567186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/7 14:16:00 [只看该作者]

既然知道方法了,往需要控制的地方套不就行了!

Select Case e.Path
    Case "a.htm"
if datatables("权限").find("用户='" & UserName & "' and 模块='a.htm'") isnot nothing then
     a页面的处理....
else
e.WriteString("没有权限")
endif
End
 Select

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2022/4/7 14:32:00 [只看该作者]

我的每个页面都写到了函数里,也就是要在每个页面函数里加控制代码,这样页面多了就不好控制了,有更好的思路吗?

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111422 积分:567186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/7 14:37:00 [只看该作者]

可以看看这里的用法:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=94825

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:392 积分:3312 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2022/4/7 14:52:00 [只看该作者]

1、好的,那是个公众号,重点看哪部分?

2、if datatables("权限").find("用户='" & UserName & "' and 模块='a.htm'") isnot nothing then
模块字段是多值字段,其中包括:A.HTM|B.HTM|C.HTM,如何改上面的语句实现用户”username"可以访问a.htm,b.htm,c.htm?

 回到顶部
总数 13 1 2 下一页