小编nit*_*ton的帖子

存储在数据库中的多个权限类型(角色)为单个小数

我在这里问一个关于我的某些用户/角色数据库表的设计是否可以接受的问题,但经过一些研究后我遇到了这个问题:

处理多种权限类型的最佳方法是什么?

这听起来像是一种创新方法,因此我将多个权限定义为单个十进制(我假定为int数据类型),而不是多对多关系user_to_roles表.这意味着单个用户的所有权限都在一行中.在你阅读其他问题和答案之前,它可能没有意义

我无法理解这一点.有人可以解释转换过程吗?这听起来是"正确的",但我只是没有得到如何将角色转换为十进制数据之前将其转换为十进制数,以及它在数据库出来时如何转换回来.我正在使用Java,但如果你把它删掉,那也很酷.

以下是其他问题被删除的原始答案:

"就我个人而言,我有时使用标记的权限枚举.这样你就可以对枚举的项目使用AND,OR,NOT和XOR按位运算.

[Flags]
public enum Permission
{
    VIEWUSERS = 1, // 2^0 // 0000 0001
    EDITUSERS = 2, // 2^1 // 0000 0010
    VIEWPRODUCTS = 4, // 2^2 // 0000 0100
    EDITPRODUCTS = 8, // 2^3 // 0000 1000
    VIEWCLIENTS = 16, // 2^4 // 0001 0000
    EDITCLIENTS = 32, // 2^5 // 0010 0000
    DELETECLIENTS = 64, // 2^6 // 0100 0000
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用AND按位运算符组合多个权限.

例如,如果用户可以查看和编辑用户,则操作的二进制结果为0000 0011,转换为十进制为3.然后,您可以将一个用户的权限存储到DataBase的单个列中(在我们的示例中,它将是3).

在您的应用程序中,您只需要另一个按位操作(OR)来验证用户是否具有特定权限."

database permissions roles

8
推荐指数
1
解决办法
3650
查看次数

用户名是否区分大小写?

我正在查看一些将用户名转换为小写的代码,然后再存储它们.我90%肯定这是可以的,但是那里的系统实际上需要用户名的区分大小写(特别是在健康行业)?

注意:我的特定代码不在入口点.我们从其他系统获取用户名.我所担心的是依赖于那些系统(可能或可能不在我们的控制之下),在相同的情况下始终传递用户名(当描述同一用户时).

另外值得注意的是 - 代码是:

userName.toLowerCase(Locale.ENGLISH)
Run Code Online (Sandbox Code Playgroud)

所有用户名都是英文的吗?这只是匹配数据库中的排序规则吗?请注意(至少在java中)String.toLowerCase()定义为String.toLowerCase(Locale.getDefault())

security user-interface

8
推荐指数
3
解决办法
3万
查看次数

C++逻辑和运算符

C++中是否有逻辑&运算符?例如,一个与&&一样工作的运算符,除了它还评估后面的参数,即使前面的参数已经评估为false?运算符&是我理解的按位和运算符.

c++

8
推荐指数
1
解决办法
527
查看次数

在R中的多个列的逻辑矢量

我有以下数据框:

a    b     c     d     e
TRUE TRUE FALSE  TRUE  TRUE
FALSE TRUE  TRUE  TRUE FALSE
TRUE TRUE FALSE  TRUE  TRUE
TRUE TRUE  TRUE FALSE  TRUE
TRUE TRUE  TRUE  TRUE  TRUE
TRUE TRUE  TRUE  TRUE  TRUE
Run Code Online (Sandbox Code Playgroud)

我想创建一个额外的列,比如f,使用以下逻辑:

TRUE = If all the columns in the corresponding row are all TRUE or all FALSE.
FALSE = if one or more colums differ from the other columns in the corresponding row.
Run Code Online (Sandbox Code Playgroud)

在这个例子中输出将是

a    b     c     d     e     f
TRUE TRUE FALSE  TRUE …
Run Code Online (Sandbox Code Playgroud)

r

8
推荐指数
2
解决办法
3575
查看次数

Word VBA获取Project是Unviewable错误

当我尝试编辑或步入我的VBA代码以进行调试时,我得到"Project is Unviewable".我在位置创建了.dotm文件(C:\ Users\UserName\AppData\Roaming\Microsoft\Word\STARTUP).

vba ms-word

8
推荐指数
1
解决办法
1万
查看次数

PostgreSQL 8.3权限未更新 - 使用错误?

我在向PostgreSQL 8.3中的其他用户授予权限时遇到了麻烦.虽然GRANT命令没有给我任何错误,但是权限不会显示.我需要"冲洗"它们吗?

sirprize=# CREATE DATABASE testdb;
CREATE DATABASE
sirprize=# GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;
GRANT
sirprize=# \c testdb
You are now connected to database "testdb".
testdb=# \z
 Access privileges for database "testdb"
 Schema | Name | Type | Access privileges
--------+------+------+-------------------
(0 rows)

testdb=#
Run Code Online (Sandbox Code Playgroud)

authentication postgresql privileges roles

7
推荐指数
1
解决办法
1万
查看次数

在Python中存储简单的用户设置

我正在编写一个网站,其中用户将有许多设置,例如他们选择的配色方案等.我很乐意将它们存储为纯文本文件,并且安全性不是问题.

我目前看到的方式是:有一个字典,其中所有键都是用户,值是字典,其中包含用户的设置.

例如,userdb ["bob"] ["colour_scheme"]的值为"blue".

将文件存储在文件中的最佳方法是什么?腌制字典?

有没有更好的方法来做我想做的事情?

python database settings web

7
推荐指数
4
解决办法
9057
查看次数

限制访问Web ASP .NET应用程序的用户数

如何限制Web应用程序的用户数量.

您可能希望将Web应用程序限制为一次只处理20个用户.我们公司根据许多许可证销售应用程序,但我们不确定Web应用程序中的行为.

我看到一些建议说当用户登录时你可以将用户帐户标记为"LoggedIn = True".然后每次新的成功登录尝试都会检查"LoggedIn = True"记录的数量.如果超过限制,则拒绝用户.

在这种情况下如何处理意外输入?如果:

  • 用户不单击注销,并关闭浏览器
  • 浏览器崩溃,用户没有机会退出
  • 网络连接中断,客户端电力等等.

以上所有内容仍将设置"LoggedIn = True"标志,并有助于登录用户的数量.这可能会无意中阻止原始身份验证的用户.

如果可能的话,我正在寻找更多ASP.NET解决方案.

asp.net licensing login

7
推荐指数
1
解决办法
4499
查看次数

scala foreach和地图初始化程序

刚刚看到一个有趣的可能性,在Scala中为高阶函数(如foreach或map)初始化代码块:

(1 to 3) map {
  val t = 5
  i => i * 5
}


(1 to 3) foreach {  
  val line = Console.readLine  
  i => println(line)  
}  
Run Code Online (Sandbox Code Playgroud)

这是一些记录的功能还是我应该避免这样的结构?我可以想象,"初始化"块进入构造函数,闭包本身变成了apply()方法?

感谢Pat的原始问题(http://extrabright.com/blog/2010/07/10/scala-question-regarding-readline)

scala function initializer

7
推荐指数
1
解决办法
964
查看次数

用android SDK 4.0获取Facebook用户名

如何通过Facebook Android SDK 4.0获取Facebook用户ID?

这是我的代码不起作用:

protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.activity_firstlogin);

    CallbackManager cm;
    LoginButton     lb;

    cm = CallbackManager.Factory.create();
    lb = (LoginButton) findViewById(R.id.facebook_button);
    Log.d(TAG, "Salut les zouzous");
    LoginManager.getInstance().registerCallback(cm,
            new FacebookCallback<LoginResult>()
            {
                @Override
                public void onSuccess(LoginResult loginResult)
                {
                   Log.d(TAG, "Success !");
                    AccessToken tok;
                    tok = AccessToken.getCurrentAccessToken();
                    Log.d(TAG, tok.getUserId());
                }

                @Override
                public void onCancel()
                {
                    Log.d(TAG, "On Cancel");
                }

                @Override
                public void onError(FacebookException exception)
                {
                    Log.e(TAG, exception.getMessage());
                }
            });
Run Code Online (Sandbox Code Playgroud)

我确切地知道了

 Log.d(TAG, " Success"); 
Run Code Online (Sandbox Code Playgroud)

不打印.

在回调之外只有第一个记录打印内容的日志.

对不起英语不好.

sdk android facebook

7
推荐指数
3
解决办法
2万
查看次数