|
|
1
4
我不认为mysql triggers would be ideal for this 为什么?因为您很可能最终会得到php中的部分逻辑和mysql中的部分。坚持使用一种技术是一件好事,因为稍后您和您的同事将更容易维护/调试代码。
因此,在您的情况下,如果希望用户角色的更改立即生效,您必须在每次运行脚本时加载用户角色,或者使用数据库中的某个标志注销用户,该标志将表明他的会话不再有效(或者您可以实现自己的
这取决于您的需求,哪种解决方案更适合您的情况。
所以,这实际上取决于您的需要,选择是注销用户、立即授予他新权限还是等到下次登录。 |
|
|
2
2
找个好理由不去做! 虽然这听起来像是一个笑话,但我完全是认真的。您必须考虑:
回答这些问题时感到不自在的人其实并不需要这个功能。 寻找简单的替代方案:
这不是懒惰。只关注真正的价值。 |
|
|
3
1
一种替代方法是以一定的时间间隔执行ajax请求,以更新用户$_SESSION。
如果您的
|
|
|
4
1
我认为将会话存储到缓存机制(如Redis)中会给您带来额外的优势。它比在数据库中存储会话数据轻。您可以非常轻松地创建簇。点击 here 以查看示例实现。 因此,一旦用户“类型”更改,您就可以加载redis数据缓存并根据自己的意愿进行更新。 |
|
|
5
0
我认为这样做最安全,我会选择“头痛”的方式。
根据您的应用,替代方案可能稍贵: 每次用户提交会话令牌时,都要使用数据库检查会话的有效性。如果该会话的信息无效(即“类型”不再匹配),则强制用户重新登录。 添加另一个备选方案: 不要使用MYSQL触发器,当应用程序调用者(管理员)更新用户a的“类型”时,它还会调用缓存会话的任何位置,并且(a)更新会话(不推荐*)或(b)使会话无效并强制用户再次登录。 *请注意,所有这些解决方案都要求用户在拥有新的“管理者”权限后重新输入其凭据,然后才能访问“管理者资料”。我认为这比在没有任何身份验证的情况下更新会话更安全。 |
|
|
6
0
我建议的方法是存储
关于您对信息更新后访问数据库的担忧,我不会说这些信息像您可能认为的那样令人担忧。让我们想象一下以下示例: 1)
例如,如果用户是
经理
目前,他正在加载一个网站,在那里他可以做强有力的行动,然后他被降级为
典型的
用户,那么在数据库中保存这些信息将非常有效。如果用户试图使用他的权力(不再是他的权力),他会单击一个按钮,向数据库发送一个请求以确认他的权力
2) 如果用户在访问页面时 典型的 用户,而在页面上,他变成了 经理 这样,他就可以在刷新页面后行使他的权力。我的意思是,如果您使用会话,并且希望页面自动获取信息,比如 AJAX 然后更新页面上的选项,这将比简单的刷新消耗更多的服务器电量。
给一个简单的
然而 ,也许您没有访问数据库的权限,这就是为什么您要搜索其他选项?你真幸运! 我的SQL 是仅使用文件存储信息的数据库。它是专门为没有太多资源的用户设计的,具有MySQL应有的许多功能。 |
|
|
7
0
因为每个用户都有一个
这些信息可以传递给
用户登录后,您的初始值将存储到
|
|
|
8
-1
如果脚本使用
|
|
|
Outnedwaste · 如何选择选项并发布到会话中 8 年前 |
|
|
Joy · 将变量传递到下一页PHP 8 年前 |
|
|
John_Cartor · PHP登录(会话问题) 8 年前 |
|
|
student0495 · 注销逻辑后PHP会话未重新初始化 8 年前 |
|
|
SANM2009 · 在ASP中访问C#会话变量。网 8 年前 |
|
|
Sean Mitchell · PHP$_会话在函数中不工作 8 年前 |