0
我在网页上的工作是检查ROLE_ID = 3或是否如果是3,那么组合框的条件可见
if ((Int32.Parse(Session["RoleID"].ToString()) == 3))
{
cmbempList.Visible = false;
}
现在我想检查与ROLE_ID = 3的用户是指导者与否,如果他是导师,那么cmbempList将对他可见。
public bool CheckMentorAccess()
{
bool blnAllow = false;
try
{
string strSelectMentorQuery = "SELECT COUNT(DISTINCT MLL.LED_ID) FROM M_USER_DETAILS MUD INNER JOIN M_LEADERLED MLL "
+ "ON MLL.LED_ID = MUD.PK_ID WHERE MLL.LEADER_ID = '" + Session["UserID"].ToString()
+ "' AND MUD.ACTIVE = 1 AND MLL.START_DATE <= Getdate() AND"
+ " MLL.END_DATE > Getdate()";
int intNoOfMembers = Convert.ToInt32(cSQLHelper.myExecuteScalar(strSelectMentorQuery));
if (intNoOfMembers > 0)
{
blnAllow = true;
}
}
catch (Exception ex)
{
ExceptionLogger.LogException(ex);
blnAllow = false;
}
// Return the value
return blnAllow;
}
如果此函数返回true,并且ROLE_ID = 3,那么cmbempList将对他可见。
有人能帮助我吗?
@OP - 你应该考虑修改你的SQL使用参数化查询,或者存储过程,以降低风险SQL注入。在你提供的例子中,如果`Session [“UserID”]`恰好被设置为恶意字符串,你就会被注入。 – 2010-11-27 05:52:06