Bonjour à tous !
Bon je poste ici parce que là je vois pas ou

. Je vais essayer de détailler clairement la situation :
J'ai un intranet que je développe dans ma boîte, avec une
MasterPage, dans laquelle je vérifie pendant le
Init si un objet utilisateur est en variable de session, et si une connexion valide à la base de donnée est en session également.
Quand un utilisateur demande une page de l'intranet, si c'est la première fois, j'ouvre et je stocke une connexion en session dans l'
Init de la
MasterPage (premier évenment effectué), je redirige ensuite vers une page d'authentification, qui renvoie à son tour vers la page demandée à l'origine après authentification (qui nécessite la base de données précedemment ouverte).
J'ai un truc assez étrange qui apparait alors : quand j'accède à l'intranet en tapant une adresse en URL dans IE pas de problème, par contre quand je lance la même URL à partir d'un document word, la connexion est égale à nothing dans la page authentification Oo. C'est assez aberrant je ne vois pas pourquoi ca réagit différemment alors que c'est la même URL.
Si quelqu'un a une idée merci énormément.
Je mets mon code de la MasterPage :
Code Visual Basic :
Partial Class MasterPage
Inherits System.Web.UI.MasterPage
Dim _agent As CPAM.Agent
Dim _connexion As CPAM.MySQLConnection
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
_agent = Session("Agent")
_connexion = Session("Connexion")
Page.MaintainScrollPositionOnPostBack = True
'Vérification de la connexion
If _connexion Is Nothing Then
_connexion = New CPAM.MySQLConnection("IntranetCPAM")
If _connexion.Ouvrir() Then
Session("Connexion") = _connexion
Else
Response.Redirect(CPAM.MessagesErreurs.Erreur_Connexion_BD)
End If
End If
'Vérification de l'authentification
If _agent Is Nothing Then
Response.Redirect(Request.ApplicationPath + "Authentification/Default.aspx?url=" + Request.RawUrl.Substring(1))
End If
'Initialisation du bandeau
If _agent IsNot Nothing Then
lblDate.Text = CType(Now.DayOfWeek - 1, CPAM.JoursSemaines).ToString + " "
lblDate.Text += Now.Day.ToString + " " + CType(Now.Month - 1, CPAM.MoisAnnée).ToString + " "
lblQ.Text = Now.DayOfYear.ToString
lblAgent.Text = " Bienvenue, " + _agent.Prénom.Substring(0, 1) + _agent.Prénom.Substring(1).ToLower
lblAgent.Text += " " + _agent.Nom.Substring(0, 1) + _agent.Nom.Substring(1).ToLower
lblAgent.Text += " ! "
End If
Me.lblErreur.Visible = (_agent.Numéro = "02613")
If _agent.Numéro = "02613" And Not _agent.Droits.ContainsKey(CPAM.Applications.Administration) Then
_agent.Droits.Add(CPAM.Applications.Administration, 1)
End If
'Vérifier si l'application est active
'If Request.RawUrl.Contains("PlanningEtStatistiques") And Not _agent.Droits.ContainsKey(CPAM.Applications.Administration) Then
' Response.Redirect(CPAM.MessagesErreurs.Application_En_Travaux)
'End If
End Sub
End Class
Et celui de la page Authentification :
Code Visual Basic :
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_connexion = Session("Connexion")
Dim process As New Diagnostics.Process
Dim Agent As CPAM.Agent
process = Diagnostics.Process.Start(Request.PhysicalApplicationPath + "Authentification\SECJAVA_checkToken.exe", "123456789ABCDEF2 1 " + Request.QueryString("jeton"))
'Vérification du jeton
If process.Start = True Then
process.Close()
process.Dispose()
'Recupération de l'agent
_r = _connexion.GetDataReader("SELECT * FROM " + CPAM.Tables.TB_Agents_CPAM + " WHERE idAgent = '" + GetParam("H") + "'")
_r.Read()
Agent = New CPAM.Agent(_r("Prenom"), _r("Nom"), _r("idAgent"), _r("Mail"), _r("Telephone"))
_r.Close()
Session("Agent") = Agent
Response.Redirect(Request.ApplicationPath + Request.QueryString("url"))
Else
Response.Write("Erreur de connexion : vérification du jeton impossible")
End If
End Sub