角色和会员资格

时间:2014-08-07 11:23:40

标签: c# asp.net sql-server-2008

当用户登录时,我想检查他所属的角色,并根据它自定义带有角色的select语句,例如:

如果用户具有toyota和ford的角色:sql语句将为:

select * from issues where provider = 'toyota' and provider = 'ford'

使用下拉列表也会填充toyota和ford,因此用户只能查看和修改他允许的行。

我不知道如何实现这个逻辑,请帮助

PS:对不起我的英语,我是法语人士:)。

2 个答案:

答案 0 :(得分:0)

提供商可能同时拥有两个不同的值?我不这么认为。

使用"加入表" user_provider。抱歉,伪代码。

Users
UserId 1 Name Paul
UserId 2 Name Carl
UserId 3 Name Volume

Providers
ProviderId 1 Name Toyota
ProviderId 2 Name Honda
ProviderId 3 Name Ford

User_Provider
ProviderId 1 UserId 1
ProviderId 1 UserId 2
ProviderId 2 UserId 3
ProviderId 3 UserId 1
ProviderId 3 UserId 2

select * from issues where providerId in (select ProviderId from user_provider where UserId = 1)

在这种情况下,保罗是我们与丰田和福特的人。

答案 1 :(得分:0)

provider = 'toyota' and provider = 'ford'将始终为false,因为提供商不能同时为两者。 使用or代替and

select * from issues where provider = 'toyota' or provider = 'ford'
相关问题