1. c#調用帶身份驗證的webservice怎麼做
調用webservice方法不就行了?關鍵是你能不能拿到身份證資料庫的webservice方法。
之前在銀行做的時候,就是直接調用公安系統給的webservice。
2. 使用自定義過濾器後繼續記住我身份驗證問題,怎麼解決
自定義身份驗證、自定義post表單時自動檢測錯誤
自定義發生異常時的自動化處理、等等應用
3. c#mvc 怎麼驗證登錄狀態
首先,mvc開發的是web應用,web應用中, 一般使用cookie或者session來進行身份驗證。
參考:http://my.oschina.net/xianggao/blog/395675 介紹了cookie和session的概念和作用,
簡單的說,Cookie是客戶端記錄的信息, Session是伺服器記錄的信息, 而身份驗證需要使用的就是Cookie或者Session。
所以,mvc做身份驗證(登錄),第一步是驗證身份,然後頒發給用戶cookie或者session,
如:
//控制器代碼:
[HttpPost]
publicActionResultLogin()
{
//...登錄驗證,
if(用戶名密碼正確)
{
Session["UserId"]="100";//這里舉的是最簡單的例子,即記錄用戶的ID
}
}
那麼記錄了之後, 伺服器就知道,這個人是ID = 「100"的那個用戶了,然後就是驗證了。
在MVC中,一般使用FIlter來控制用戶的許可權,即某個Action需要怎麼樣的許可權、或者指定某個用戶才能進行訪問,否則返回一個錯誤。
一般會重寫過濾器, 在你的MVC項目中新建一個類:
:System.Web.Mvc.AuthorizeAttribute
//繼承mvc自帶的AuthorizeAttribute
{
(HttpContextBasehttpContext)
{
if(httpContext.Session["UserId"]!=null)
{
if(httpContext.Session["UserId"]=="100"}
{
returntrue;
}
else
{
returnfalse;
}
}
returnfalse;
}
}
這個過濾器很簡單, 如果Session["UserId"] =="100"的時候,才會通過(返回true),其他都不允許通過。
最後一步,就是給需要驗證身份的控制器加上這個過濾器即可。
[Authorize]
//這個就是驗證身份的,如果用戶沒有登錄,或者UserId不等於100,
系統會禁止他進入Index的界面
publicActionResultIndex()
{
ReturnView();
}
4. 如何設計API介面請求介面時需要進行身份驗證防止第三方隨意調用介面
1. 設定一個密鑰比如key = 『2323dsfadfewrasa3434'。
2. 這個key 只有發送方和接收方知道。專
3. 調用時,發送方,組合各個參數用密鑰 key按照屬一定的規則(各種排序,MD5,ip等)生成一個access_key。一起post提交到API介面。
4. 接收方拿到post過來的參數以及這個access_key。也和發送一樣,用密鑰key 對各個參數進行一樣的規則(各種排序,MD5,ip等)也生成一個access_key2。
5. 對比access_key 和access_key2 。一樣。則允許操作,不一樣,報錯返回或者加入黑名單。
5. 如何設計API介面,請求介面時需要進行身份驗證,防止第三方隨意調用介面
1. 設定一個密鑰比如key = 『2323dsfadfewrasa3434'。
2. 這個key 只有發送方和接收方知道。
3. 調用時,發送方,組合各個參數用密鑰 key按照一定的規則(各種排序,MD5,ip等)生成一個access_key。一起post提交到API介面。
4. 接收方拿到post過來的參數以及這個access_key。也和發送一樣,用密鑰key 對各個參數進行一樣的規則(各種排序,MD5,ip等)也生成一個access_key2。
5. 對比access_key 和access_key2 。一樣。則允許操作,不一樣,報錯返回或者加入黑名單。
6. jsp的filter中配置驗證登錄的過濾器,但是在登錄的時候過濾器執行了兩次
<a href="#" onclick="window.loginForm.submit();"><img src="skin/images/hua02.jpg" width="78" height="27" border="0" onclick="loginForm.submit();"/></a>
看到沒,你的圖片本身就有個onclick="loginForm.submit();,然後又加了個超鏈接…專…當然會提屬交兩次了
7. 調用webservice時,需要身份驗證,如何實現
1.如果webservice同時向移動設備和PC提供服務呢?那麼imei或手機號應該不好用了。2.如果版用imei或手機號,那麼每次權發送請求時,都發送此值到webservice么?如何發送此值呢?如果用此值為參數,那麼可以被其它人寫的客戶端用此值進行欺騙吧?謝謝 祝福 :)
8. php如何驗證過濾用戶是否登錄
一、可以通過Session,實現用戶登錄驗證。
session習慣上被譯為會話,它的設計是為了在一個訪問期間在不同的頁面間傳輸數據,以解決http協議無狀態的問題。
session_register()函數的作用是注冊新的變數,它會在全局變數中增加1個變數到目前的session之中,以後其他頁面可以通過session_is_registered()函數檢測該session變數是否已經注冊。
二、通過session來檢測用戶登錄信息,由兩個文件組成,login.php為用戶登錄頁面,checklogin.php用於檢測賬號、密碼和是否登錄成功。
具體參考代碼如下:
login.php的代碼如下:
<?php
session_start();//初始化session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他頁面
exit();
}
?>
<scriptlanguage="javascript">
functionchecklogin(){
if((login.username.value!="")&&(login.password.value!=""))
{
returntrue;//判斷用戶名和密碼不為空,返回TRUE
}
else
{
alert("昵稱或密碼不能為空!")
}
}
</script>
<styletype="text/css">
.style1{font-size:13px;font-family:"黑體";font-weight:normal;color:#0099FF;}
</style>
<divalign="center">
<formname="login"method="post"action="checklogin.php"onSubmit="returnchecklogin()">
<tablewidth="260"border="1"bgcolor="#D8EFFA">
<tralign="center">
<tdheight="30"colspan="2"><spanclass="style1">管理系統登錄</span></td>
</tr>
<tr>
<tdwidth="90"align="center"class="style1">管理員:</td>
<tdwidth="170"height="20"align="left"valign="middle"><inputname="username"type="text"id="username"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1">密碼:</td>
<tdheight="20"align="left"valign="middle"><inputname="password"type="password"id="password"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1"></td>
<tdheight="20"align="center"><inputtype="submit"name="Submit"value="登錄"></td>
</tr>
</table>
</form>
</div>
checklogin.php的代碼如下:
<?php
session_start();//初始session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他頁面
exit;
}//登錄過的話立即結束
$shili_name=$_POST['username'];//獲取參數
$password=$_POST['password'];
//驗證管理員名稱和密碼是否正確,這里採用直接驗證,沒有連接資料庫
if($shili_name=="mr"and$password=="mrsoft")
{
session_register("shili");//注冊新的變數,保存當前會話的昵稱
$shili=$shili_name;
echo"<fontcolor=red>登錄成功!</font>";
header("Location:shili.php");//登錄成功重定向到管理頁面
}
else
{
echo"<tablewidth='100%'align=center><tr><tdalign=center>";
echo"賬號或密碼錯誤,或者不是管理員賬號<br>";
echo"<fontcolor=red>登錄失敗!</font><br><ahref='login.php'>請重新輸入</a>";
echo"</td></tr></table>";
}
?>
shili.php的代碼如下:(實驗簡單驗證)
<?php
echo"WelcometoMyWorld!";
?>
//如果想要對某個頁面限制瀏覽的用戶,可以使用同樣的方式,只要把如下的代碼放在該頁面的開頭即可:
<?php
session_start();
if(!isset($_SESSION['shili'])){
echo"<palign=center>";
echo"<fontcolor=#ff0000size=5><strong><big>";
echo"你沒有登錄,請<ahref='denglu.php'>登錄</a>!";
echo"</big></strong></font></p>";
exit();
}
?>
9. 希望使用攔截器對用戶的身份進行驗證,需要實現什麼方法
首先,統一用戶管理系統在設計時就要能建立一個能適應各種系統許可權管理內要求的許可權模型。容
對於己建立的老系統,各系統將自己的用戶角色管理,角色一許可權管理等部分抽離出來,統一放在統一用戶管理系統中。
而對於新建立的系統,各系統在建設的初期就要把自己許可權設計的要求提交給統一用戶管理系統,按照其需求在本身統一用戶管理系統的許可權模型上去構建出該系統的實例。
那麼管理員就可以通過統一授權系統為各用戶在不同系統的許可權進行配置。
在登陸時各系統就調用相關的統一認證和授權介面,獲取用戶相關的許可權信息,進到各系統後再創建用戶,將相關的許可權信息賦予給用戶類。
然後就可以在應用系統中進行許可權驗證。
10. java web項目中過濾器的使用(過濾器執行多次)
圖片中顯示的log是執行一次的。
不是本來就打開login.jsp嗎,不用再跳轉到login.jsp,不是的時候,再跳轉。