none
Crear campo contraseña en sharepoint RRS feed

  • Pregunta

  • Hola a todos, feliz año nuevo,

    Quiero crear un nuevo tipo de columna en sharepoint, para la lista de usuarios, dispongo de Sharepoint Foundation 2010, el caso es que quiero crear un campo que sea de tipo contraseña, es decir, que no lo vean el resto de usuarios si entran en el detalle del usuario, pero no sé como hacerlo. He estado buscando información pero no he encontrado mucho, sólo he visto un post en el que dicen de crear una columna de tipo línea de texto y cambiar el control a un textbox con TextMode="Password", pero creo que no es la mejor solución.

    Si alguien sabe algo o puede darme alguna información lo agradecería.

    Un saludo,


    Sergio Gallego
    lunes, 3 de enero de 2011 9:59

Respuestas

Todas las respuestas

  • Hola Sergio,

    como en muchos otros casos, yo creo que la solución buena pasa por crearte un custom field type, basado en el campo string pero que se encargue de mostrar un textbox de tipo password a la hora de ser visualizado. De todas maneras, para hacerlo bien deberías también encargarte de encriptar el contenido de ese campo para que no se guarde en claro en ningún momento.

    Saludos,
    David Martos
    http://david-martos.blogspot.com

    lunes, 3 de enero de 2011 10:35
  • Hola David,

    Lo de crear el custom field type basado en un campo string me parece lo más lógico, pero teniendo en cuenta que luego ese campo se muestra en la página de _layouts/userdisp.aspx, y que aquí el formulario en sí es un control de Sharepoint llamado FormComponent, el cual tiene la siguiente definición:

      <SharePoint:FormComponent id="UserListForm" TemplateName="UserListForm" ControlMode="Display" runat="server"/>
    No sé donde puedo modificar el custom field type para que siempre que se muestre, lo haga como un TextBox de tipo password...

    Gracias y un saludo


    Sergio Gallego
    lunes, 3 de enero de 2011 11:03
  • Buenas,

    el formulario muestra todos los campos de la lista configurados para aparecer ahí. Si creas el custom field type y como control a renderizar creas tu propio usercontrol con la lógica necesaria todo será automático. Piensa que a la hora de añadir el campo, lo añadirás de tipo TuTipoPassword y SharePoint lo tomará como tal. De la misma manera que si el campo es booleano te aparecen los option button correspondientes, en este caso te aparecerá tu usercontrol.

    Mira, te dejo un ejemplo donde el control se desarrolla en Silverlight (http://msdn.microsoft.com/en-us/library/ff679964.aspx). Es más complejo que lo que tú necesitas pero te servirá para lo que buscas.

    Saludos,
    David Martos
    http://david-martos.blogspot.com

    lunes, 3 de enero de 2011 11:37
  • Hola Sergio, cómo estás?

    Hay un desarrollo en codeplex que quizá pueda servirte. No lo he usado como para recomendarlo, pero te paso el enlace:

    http://wssfields.codeplex.com/

    Ojalá te sea útil!


    Juan Pablo.
    surpoint.blogspot.com
    geeks.ms/blogs/jpussacq
    @jpussacq
    HispaPoint: comunidad sharepoint de habla hispana
    lunes, 3 de enero de 2011 14:09
  • Hola a los dos,

    Gracias por vuestras respuestas,

    En el caso de tu respuesta David, esa página ya la habia visto, ahora estoy viendo un video explicativo de como se hace todo, pero parece demasiado para lo que yo quiero hacer, y me lio un poco.

    En el caso que tu me has escrito, Juan Pablo, es un webpart para Sharepoint 2007, y aunque he conseguido instalarlo y desplegarlo, también crear una columna y ponerla de tipo contraseña, a la hora de intentar modificar un usuario para darle valor a esa columna, no se me mostraban sus campos, es decir, al intentar editar un usuario, no podía modificar ningún campo porque no me salía, asi que lo he quitado y ha vuelto a funcionar, estoy intentando meterlo en un nuevo proyecto desde VS 2010 pero hay una parte que no se donde meterla, concretamente el XML que contiene lo siguiente:

    <FieldTypes>
      <FieldType>
        <Field Name="TypeName">PasswordField</Field>
        <Field Name="ParentType">Text</Field>
        <Field Name="TypeDisplayName">Password</Field>
        <Field Name="TypeShortDescription">Password</Field>
        <Field Name="UserCreatable">TRUE</Field>
        <Field Name="Sortable">FALSE</Field>
        <Field Name="AllowBaseTypeRendering">FALSE</Field>
        <Field Name="Filterable">FALSE</Field>
        <Field Name="FieldTypeClass">TLingenf.SharePoint.CustomFieldTypes.PasswordField, TLingenf.SharePoint.CustomFieldTypes.Password, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a6d5fda379d8bf73</Field>
        <PropertySchema>
          <Fields>
            <Field Name="MinChars" DisplayName="Minimum Characters" Type="Integer" Min="0" Required="TRUE">
              <Default>6</Default>
            </Field>
            <Field Name="StrongOnly" DisplayName="Strong Passwords" Type="Boolean">
              <Default>TRUE</Default>
            </Field>
          </Fields>
        </PropertySchema>
        <RenderPattern Name="DisplayPattern">
          <HTML><![CDATA[*****]]></HTML>
        </RenderPattern>
      </FieldType>
    </FieldTypes>

    He intentado meterlo en la sección de Features, pero no hay nada que se parezca a esto...

    Veré el video completo e intentaré buscar un sitio donde meter el XML.

    Gracias


    Sergio Gallego
    lunes, 3 de enero de 2011 15:23