- PR -

Loginコントロールの使い方

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2007/08/21
投稿数: 48
投稿日時: 2007-08-21 16:02
こんにちは。
ASP.NETを始めて1週間の初心者です。
もう何冊も本を買って独学で勉強中ですが、どうしてもわからないので質問させてください。
開発環境はWinXP Pro+VS2005です。

会員のロールによって表示する内容を変えるようなWEBサイトを作りたいのですが入り口の部分で悩んでいます。
会員の認証にはLoginコントロールを使っています。
簡単なLoginページを作成して認証ができるところまでは確認できたのですが、Login情報の使い方がわからず困っています。


〔やりたいこと〕

1.複数ページで同じレイアウトにするため、レイアウトをMasterPage.masterで定義する。
2.ログインボックスはMasterPage.masterで定義し、どのページからでもログインできるようにする。
3.表示画面では会員のロールによって表示する内容を変える。
4.条件決定画面と結果表示画面を分けたい。


〔教えて頂きたいこと〕

1.LoginコントロールのUserNameの使い方。例えばリンクのパラメタにユーザー名を渡したい。
※本当はユーザー名ではなく、個人IDのようなものを渡したいのですが一気にそこまではわからないので、最初の一歩ということでご理解ください

2.ロールの判定方法
3.Linkコントロールにパラメタでログイン中のusernameを持たせる(パラメタを渡す)方法

他にもいろいろありますが、まずは上記からお願いします。
初歩的な質問で申し訳ないのですがよろしくお願いします。

※Strutsでの開発経験はありますのでHTMLレベルの話は一応わかりますが、VS2005で、どうすればやりたいことができるのかまったくといって良いほどわかりません。
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2007-08-21 17:45
さかもとと申します。

Loginコントロール全般の理解が必要と思いますので、まずはMSDNよりを参照されたほうが良いかと思います。
大体のことはこちらで解決するかと。

尚、[やりたいこと]の2ですが、どのページからでもログインできるようにするよりはマスターページにLoginStatusコントロールを使うほうが良いと思います。全てのページにログインコントロールがあったら結局今ログインしているのかしてないのか分かりづらいのではないでしょうか?


_________________
------------------------------------------
拝啓、さかもとと申します♪
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-08-21 21:20
どのページからもログインできる、というのは、買い物ページのように、必要になってからログインすればいい、ということでしょうか。
そうであれば、ログインするまでページ構成を切り分けることはできませんが、よろしいですか?
未記入
常連さん
会議室デビュー日: 2007/08/21
投稿数: 48
投稿日時: 2007-08-22 10:50
引用:

さかもとさんの書き込み (2007-08-21 17:45) より:
さかもとと申します。

Loginコントロール全般の理解が必要と思いますので、まずはMSDNよりを参照されたほうが良いかと思います。
大体のことはこちらで解決するかと。




ありがとうございます。
少し光が見えてきました。

引用:

尚、[やりたいこと]の2ですが、どのページからでもログインできるようにするよりはマスターページにLoginStatusコントロールを使うほうが良いと思います。全てのページにログインコントロールがあったら結局今ログインしているのかしてないのか分かりづらいのではないでしょうか?


マスターページにLoginViewを置いて、その中にLoginコントロールを置くので問題ないと思っているのですが、そういうことではないのですか?
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2007-08-22 21:23
さかもとです。

引用:

マスターページにLoginViewを置いて、その中にLoginコントロールを置くので問題ないと思っているのですが、そういうことではないのですか?



Jitta様がおっしゃる要件をどうするかによるかと思います。

_________________
------------------------------------------
拝啓、さかもとと申します♪
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2007-08-23 06:29
>1.LoginコントロールのUserNameの使い方。例えばリンクのパラメタにユーザー名を渡したい。

Dim strUser As String = Membership.GetUser.UserName

>2.ロールの判定方法

If HttpContext.Current.User.IsInRole("Admin") Then
End If

※ロール別にメニューを変更するにはセキュリティトリミングを利用すると便利かと
コード:
<siteMap enabled="true" defaultProvider="XmlSiteMapProvider">
 <providers>
  <add name="XmlSiteMapProvider" 
    description="Default SiteMap provider"
    type="System.Web.XmlSiteMapProvider" 
    siteMapFile="Web.sitemap" 
    securityTrimmingEnabled="true" />
  </providers>
</siteMap>




_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
未記入
常連さん
会議室デビュー日: 2007/08/21
投稿数: 48
投稿日時: 2007-08-23 09:19
引用:

Accessさんの書き込み (2007-08-23 06:29) より:
>1.LoginコントロールのUserNameの使い方。例えばリンクのパラメタにユーザー名を渡したい。

Dim strUser As String = Membership.GetUser.UserName

>2.ロールの判定方法

If HttpContext.Current.User.IsInRole("Admin") Then
End If




ありがとうございます。
まさに私が求めていた答えです。


引用:

※ロール別にメニューを変更するにはセキュリティトリミングを利用すると便利かと
コード:
<siteMap enabled="true" defaultProvider="XmlSiteMapProvider">
 <providers>
  <add name="XmlSiteMapProvider" 
    description="Default SiteMap provider"
    type="System.Web.XmlSiteMapProvider" 
    siteMapFile="Web.sitemap" 
    securityTrimmingEnabled="true" />
  </providers>
</siteMap>






ちょっとわからないので上記コードの意味を勉強します。
1

スキルアップ/キャリアアップ(JOB@IT)