Asp.net 根据用户权限调用ajax调用
我的网站中有jquery按钮,但其中一些按钮不需要每个用户都可以点击,因此必须有权限,所有按钮都会进行ajax调用,因此我如何控制这些按钮,例如,如果我有3个按钮,如:Asp.net 根据用户权限调用ajax调用,asp.net,jquery,Asp.net,Jquery,我的网站中有jquery按钮,但其中一些按钮不需要每个用户都可以点击,因此必须有权限,所有按钮都会进行ajax调用,因此我如何控制这些按钮,例如,如果我有3个按钮,如: button1_click() some ajaxcalls button2_click() some other ajax calls button3_click() another calls 因此管理员可以调用此事件,但简单用户只需调用按钮3即可 我需要什么样的方法 -我是否必须使用另一个ajax调用来控制每个按钮,
button1_click()
some ajaxcalls
button2_click()
some other ajax calls
button3_click()
another calls
因此管理员可以调用此事件,但简单用户只需调用按钮3即可我需要什么样的方法
-我是否必须使用另一个ajax调用来控制每个按钮,如:
button1_click()
an ajax call (permission.aspx) read session,admin or not,return true or false
if(true)
{
someajaxcall()
}
-或者我必须根据会话隐藏或显示按钮?但是我不知道我该怎么做我正在使用jqgrid asp.net组件,这样网格就有自定义按钮,但按钮没有id,所以我无法从服务器端访问它,而且按钮也没有可见或禁用属性。
我使用asp.net和jquery通常我不喜欢显示人们无法使用的按钮,因此,由于您在后端使用asp.net,因此在检查用户权限后创建页面时,您可以隐藏按钮,即:
btnOne.Visible = UserIsAdministrator; //you need to define thisvariable based on your own rules.
等
如果仍要显示它们,可以改为使用btnOne.Enabled=UserIsAdministrator,它将显示按钮,但根据需要禁用它们 您可以在该页面上使用包含用户角色的
hiddenfield
。然后在DOM Ready()
函数中迭代这些按钮,使它们处于启用/禁用状态。
但是,在进行ajax调用后,您还应该检查服务器端的角色,以防有人手动更改hiddenfield的值以启用按钮。为什么不在服务器端使用User.IsInRole?Ajax调用甚至不会出现在HTML页面中(此外,您必须仔细检查内部方法)。感谢您的回答,我正在使用jqgrid asp.net组件,以便网格具有自定义按钮,但按钮没有id,因此我无法从服务器端访问它,并且按钮没有可见或禁用属性。