안녕하세요 웹개발자 입니다.
먼저 답글 늦게 달아드려 죄송합니다.
아래 말씀 하신 대로 수정해서 사용 해야 할것 같습니다.
(Session("MEMBER_AUTH") <> "WA" or memberAuth <> "SA") 이부분 루틴이
어느 한쪽도 아니면 삭제를 못하게 되어져야 하는게 맞습니다.
코딩하다보니.. 이런 실수도 하는군요..
삭제루틴에 관한 지적 고맙습니다.
수정된 소스는 다른 버그들이 수정된 소스와 같이 올려 놓겠습니다.
그럼 수고하십시오.
윤요한 님이 쓴 글입니다.
--------------------------------------------------------------------
:※ 필수입력정보 ※
:
:▷ 제품버젼 :
:▷ 사용중인 주소(URL) : http://
:▷ 문제발생시 메뉴/주소 :
:▷ 문제발생시 에러메세지
: :
:
:▷ 질문내용
: :
:알고리즘에 관한 질문 내용입니다.
:
: If writerId < > "" Then'글쓴이가 없다면 전체관리자만이 글을 삭제가 가능하도록되어있습니다.
: If writerId < > Session("MEMBER_ID") and (Session("MEMBER_AUTH") < > "WA" or memberAuth < > "SA") Then
:'이 부분은이 의문이 가는 내용입니다.
:현재 글쓴이의 아이디와 세션의 값이 같은지를 우선 체크합니다. 같다면, docDelete로 바로가지요. 뒤에 부분이 문제의 부분인데요. 우선 전체관리자인지를 체크합니다. 그리고 클럽에서의 권한을 체크하지요. 그런데, 클럽이 MAIN이라면, 전체관리자는 WA를 가지게 됩니다. 따라서 뒤에 부분에서 WA와 SA가 다르게 되므로 글을 삭제 할수 없게됩니다(참이 나오게 되므로). 클럽이라고 생각해도 마찬가지 입니다. 만약 클럽의 관리자라면, 전체회원권한체크에서 걸리게 됩니다. 클럽관리자가 WA가 아닐수도 있게 되니까요. 권한을 어떻게 체크하여야 할지 생각중입니다만, 오랜만에 이런것을 생각해서 그런지 잘 떠오르지가 않는군요.
: Con.Close
:
: Func.Alert "삭제는 게시물을 작성한 작성자만 삭제할 수 있습니다."
: Func.Back(-1)
: Else
: Con.Close
:
: Func.Location "/nBuilder/Board/Doc/docDelete.asp?txtClubId=" & clubId & "&txtMenuNo=" & menuNo & "&txtBoardId=" & boardId & "&txtDocId=" & docId, "self"
: Response.End
: End If
: Else
: If Session("MEMBER_AUTH") = "WA" Then
: Con.Close
:
: Func.Location "/nBuilder/Board/Doc/docDelete.asp?txtClubId=" & clubId & "&txtMenuNo=" & menuNo & "&txtBoardId=" & boardId & "&txtDocId=" & docId, "self"
: Response.End
: End If
: End If
:
:그래서 이와같이 수정을 하는게 맞지 않는지 여쭈어보고 싶습니다.
:
:not(Session("MEMBER_AUTH") = "WA" or memberAuth = "SA")
:
:답변부탁드립니다.