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