Profile 詳解之匿名狀態遷移至登入狀態

2021-09-30 07:40:44 字數 3219 閱讀 7617

2010-03-02 15:26 by ╭☆澀 軌ら, 127 visits,

網摘,

收藏, 編輯

首先還是來解釋一下博文的標題意義吧,

何為匿名狀態,何為登入狀態,又何為匿名狀態遷移至登入狀態?

匿名狀態就是沒有登入這個**而對**進行訪問的狀態,

而登入狀態則是使用者成功登入了**,

而從匿名狀態遷移至登入狀態就是乙個使用者一開始並沒有登入,

而是以匿名的身份證登入這個**,而後瀏覽了一會兒又想登陸來發表篇博文,

這就是從匿名狀態遷移至登入狀態,

貌似這裡沒有什麼好介紹的呢?

不過,再請考慮乙個問題,就是比如說使用者去購物吧,

使用者購物一般都是在購物**上先以匿名身份選擇要買的商品,

而後等選好了以後,使用者便進行登陸,然後付款等等後續工作,

但是,這其中會有乙個問題,就是使用者以匿名身份選擇的商品怎麼遷移至登入狀態呢?

也就是以匿名身份選擇的商品,登入後還要儲存這些商品來進行付款!!!

先來看乙個單詞吧----migration,就是遷移的意思,大夥先記住這個單詞,

等下後面就會知道其用處了,

下面在介紹 demo 之前呢,還是先講一下乙個檔案 global.asax ,也就是全域性應用程式類,

您可以在這個檔案中使用 profile_migrateanonymous 全域性事件

來訪問 profilemodule 類的 migrateanonymous 事件,

而當匿名使用應用程式的使用者進行登陸時,就會觸發 profile_mirateanonymous 事件,

所以就可以使用 migrateanonymous 事件將配置檔案 profile 的屬性值

從匿名 profile 複製到已驗證身份的使用者的配置檔案中去

這樣便完成了匿名狀態到登入狀態資訊的乙個完整的遷移。

下面就來看乙個 demo 吧

">

然後還得開一下 global.asax 中的 profile_migrateanonymous 事件的定義

在這個事件中呢,完成了將資訊從匿名使用者的 profile 中轉存到了登入狀態的 profile 中,

同時也刪除了這個匿名使用者在資料表 aspnet_profile 和 aspnet_users 中的資料,

並且也清除了為這個匿名使用者在客戶端生成的 cookie 檔案

下面就來看演示了

首先,直接以匿名方式瀏覽這個 demo

然後您開啟您機器上儲存 cookie 的地方,您可以看到新建了乙個 cookie 檔案

這個 cookie 便是 asp.net 為此次瀏覽的匿名使用者分配的 guid 儲存的位置,

然後您選擇乙個頭像進行儲存

此時再來看資料表 aspnet_users

這裡就可以看到在資料表中新增了乙個匿名使用者

然後再來看資料表 aspnet_profiles

這裡就可以知道剛剛新增的資訊時新增給了匿名使用者的

接下來就要進行登陸了

(以 chengyan 進行登陸,

在這個登陸過程中會觸發在 global.asax 中定義的 profile_migrateanonymous 事件,

所以一開始的匿名使用者資訊會在 aspnet_uses 表和 aspnet_profile 表中均刪除

同時也會刪除這個匿名使用者在客戶端的 cookie)

登陸成功後,您再去看您客戶機 cookie 所在的位置,

剛才上面截圖的那個 xiaozhen@localhost[1].txt

的 cookie 檔案便被刪除了,

然後再來看資料表 aspnet_users ,您可以發現其中剛才的那個匿名使用者也被刪除了,

再來看資料表 aspnet_profile ,您會發現登入前的那個匿名使用者的 profile 也被刪除了,

而發現有乙個卻增加了屬性,也就是 chengyan 這個使用者,

其本來沒有**這個 profile 屬性的,當是登陸成功後,由於將匿名資訊遷移了過來,

所以其又有了**這個 profile 屬性

經過了上面的演示,我想大家也完整的看到了從匿名狀態遷移到登入狀態的全過程,

並且其中的一些要點,我也說得比較詳細了,這篇博文的目的也就達到了!!!

Linux中profile檔案詳解

1 linux是乙個多使用者的作業系統。每個使用者登入系統後,都會有乙個專用的執行環境。通常每個使用者預設的環境都是相同的,這個預設環境實際上就是一組環境變數的定義。使用者可以對自己的執行環境進行定製,其方法就是修改相應的系統環境變數。2 常在 etc profile檔案中修改環境變數,在這裡修改的...

bashrc 和 profile 檔案詳解

區別 系統級環境配置檔案 etc profile etc bashrc 使用者級環境配置檔案 bashrc profile etc profile 用來設定系統環境引數,比如 path.這裡面的環境變數是對系統內所有使用者生效的。etc bashrc 這個檔案設定系統bash shell相關的東西,...

使用者profile檔案引數詳解

profile檔案引數詳解 failed login attempt 設定登入到oracle資料庫時可以失敗的次數。一旦某使用者嘗試登入資料庫的達到該值時,該使用者的帳戶就被鎖定,只能由dba能解鎖。password life time 設定口令的有效時間 天數 一旦超過這一時間,必須重新設口令。預...