こんにちは私はC#webserviceとajaxコールでログインしていますが、問題はありますが、ユーザータイプが2つ(adminとuser)です。彼はユーザーの種類に応じて彼のページにリダイレクトされますが、彼がアクセスできる管理者のURLを書くとき、私の質問はどのようにユーザーの種類を検証し、ページへのアクセスを許可するのですか?はい、これ。ユーザータイプに応じてページへのアクセスを制限する
jQueryの(検証のlocalStorageステータス):
function verifySesion() {
if (localStorage.UsuNombre == null)
document.location.href = "index.html";
else
$('#msj').html('Welcome: ' + localStorage.UsuNombre + '...');
}
jQueryのAJAX呼び出しのために:
function validarSesion() {
var usu = $('#Usuario').val();
var pass = $('#Contraseña').val();
if (usu != "" && pass != "") {
$.ajax({
type: 'POST',
url: urlServer + 'ws_alerts.asmx/ValidarSesion',
// Manda por post la variable us y pass
data: '{"usu":"' + usu + '","pass":"' + pass + '"}',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
error: function (jqXHR, text_status, strError) {
},
timeout: 600000,
success: function (data) {
//Se obtiene como resultado el numero 1, 2 o 0
//1: Aprobador 2: Usuario 0: No registrado
var resultado = data.d;
if (resultado == "1") {
localStorage.UsuNombre = usu;
document.location.href = "Alertas.html";
}
else
{
if (resultado == "2")
{
localStorage.UsuNombre = usu;
document.location.href = "Alert.html";
}
else
{
if (resultado == "0")
bootbox.alert("Try again.");
window.login.reset();
}
}
}
});
}
else
alert("Type User/Password please.");
}
C#のWebサービス
public string ValidarSesion(string usu, string pass)
{
conn = new db_alerts();
string resultado = "false";
//1: Admin 2: User
int tipo = 1;
int respuesta = conn.ConsultarScalar("SELECT COUNT(Id) FROM tbl_usuarios WHERE Nombre='" + usu + "' AND Contraseña='" + pass + "' AND Tipo='" + tipo + "'");
if (respuesta == 1)
{
resultado = "1";
}
else
{
tipo = 2;
respuesta = conn.ConsultarScalar("SELECT COUNT(Id) FROM tbl_usuarios WHERE Nombre='" + usu + "' AND Contraseña='" + pass + "' AND Tipo='" + tipo + "'");
if (respuesta == 1)
{
resultado = "2";
}
else
{
//Variable que se enviara al JS
resultado = "0";
}
}
return resultado;
}
私は多分それが理解するのが難しいだろうが、ログインが正常に動作することを知っている!私は、たとえば、ユーザーの種類を検証する方法を知りたい:私はこれをやってすべての私のページでのlocalStorageを検証:ユーザーのための
<script src="js/login.js"></script>
<script>verifySesion();</script>
そしておそらくのlocalStorageとし、(場合(その別の関数(verificarType)を入力します。 (このページにアクセスできません)
私はそれについて何かを読んだけど、私は私の質問で言ったように、WebServiceとAJAXでこれを行う必要がある! –
これを試してください:http://www.codeproject.com/Articles/802435/Authentication-and-Authorization-with-ASP-NET-Iden – user1455010